Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Visual Studio: Support static builds (for libsigc++-2.x) #92

Merged
merged 6 commits into from
Jun 26, 2023

Commits on Jun 26, 2023

  1. meson: Disallow default_library == 'both' on Visual Studio

    We need different defines/cflags for building static and shared builds of
    libsigc++, so we can't really support default_library = 'both' for libsigc++
    without much retinkering.
    
    So, just disallow such builds at least for now.
    
    Also, save up whether we are attempting a static build in the Visual Studio
    build.
    fanc999-1 committed Jun 26, 2023
    Configuration menu
    Copy the full SHA
    6b11d5b View commit details
    Browse the repository at this point in the history
  2. build: Drop _WINDLL from sigc++config.h.[in|meson]

    ...and add a new check macro LIBSIGCXX_STATIC, to use the appropriate macros to
    build and link against libsigc++. Drop this from the build files as well.
    fanc999-1 committed Jun 26, 2023
    Configuration menu
    Copy the full SHA
    df57528 View commit details
    Browse the repository at this point in the history
  3. build: Actually support MSVC static builds

    Apply -DLIBSIGCXX_STATIC as appropriate when we request a static build to be
    done for the Meson and NMake builds, and skip building the version .rc file
    if a static build is requested.
    
    For the NMake builds, separate the build artifacts from the static and shared
    builds.
    
    The autotools builds since it is not used for Visual Studio builds at all.
    fanc999-1 committed Jun 26, 2023
    Configuration menu
    Copy the full SHA
    9a1d936 View commit details
    Browse the repository at this point in the history
  4. NMake Makefiles: Accomodate static builds during "install"

    Copy the built DLL and PDB only if building a shared build, and copy the
    appropriate .lib file according to the build type.
    fanc999-1 committed Jun 26, 2023
    Configuration menu
    Copy the full SHA
    5d794c4 View commit details
    Browse the repository at this point in the history
  5. sigc++.pc.in: Set -DLIBSIGCXX_STATIC in cxxflags as needed

    Update the Meson build files to put in -DLIBSIGCXX_STATIC when we are building
    a static build of libsigc++.
    
    For the autotools build, this is not used.
    fanc999-1 committed Jun 26, 2023
    Configuration menu
    Copy the full SHA
    0ba4498 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    e5f5db3 View commit details
    Browse the repository at this point in the history