aboutsummaryrefslogtreecommitdiff
path: root/ports/libsigcpp
diff options
context:
space:
mode:
Diffstat (limited to 'ports/libsigcpp')
-rw-r--r--ports/libsigcpp/fix-usage-in-static-build.patch29
-rw-r--r--ports/libsigcpp/portfile.cmake7
-rw-r--r--ports/libsigcpp/vcpkg.json1
3 files changed, 36 insertions, 1 deletions
diff --git a/ports/libsigcpp/fix-usage-in-static-build.patch b/ports/libsigcpp/fix-usage-in-static-build.patch
new file mode 100644
index 000000000..378f1f96a
--- /dev/null
+++ b/ports/libsigcpp/fix-usage-in-static-build.patch
@@ -0,0 +1,29 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f54e830..972d0dc 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -53,6 +53,10 @@ set (PROJECT_SOURCE_DIR "${sigc++_SOURCE_DIR}/sigc++")
+ include_directories (${sigc++_SOURCE_DIR})
+ include_directories (${sigc++_BINARY_DIR})
+
++if(BUILD_SHARED_LIBS)
++ add_compile_options(-DBUILD_SHARED)
++endif()
++
+ configure_file (sigc++config.h.cmake sigc++config.h)
+
+ set (prefix ${CMAKE_INSTALL_PREFIX})
+diff --git a/sigc++config.h.cmake b/sigc++config.h.cmake
+index 74d348a..43a99c5 100644
+--- a/sigc++config.h.cmake
++++ b/sigc++config.h.cmake
+@@ -16,7 +16,9 @@
+ # if defined(_MSC_VER)
+ # define SIGC_MSC 1
+ # define SIGC_WIN32 1
++# ifdef BUILD_SHARED
+ # define SIGC_DLL 1
++# endif
+ # elif defined(__CYGWIN__)
+ # define SIGC_CONFIGURE 1
+ # elif defined(__MINGW32__)
diff --git a/ports/libsigcpp/portfile.cmake b/ports/libsigcpp/portfile.cmake
index 7dceaa2f4..2328d3562 100644
--- a/ports/libsigcpp/portfile.cmake
+++ b/ports/libsigcpp/portfile.cmake
@@ -7,6 +7,7 @@ vcpkg_from_github(
PATCHES
disable_tests_enable_static_build.patch
version.patch
+ fix-usage-in-static-build.patch
)
vcpkg_configure_cmake(
@@ -17,5 +18,9 @@ vcpkg_copy_pdbs()
vcpkg_fixup_pkgconfig()
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/sigc++-3 TARGET_PATH share/sigc++-3)
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
+ vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/sigc++-3.0/include/sigc++config.h" "ifdef BUILD_SHARED" "if 1")
+endif()
+
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
-file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
+file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
diff --git a/ports/libsigcpp/vcpkg.json b/ports/libsigcpp/vcpkg.json
index bf94085c5..780711131 100644
--- a/ports/libsigcpp/vcpkg.json
+++ b/ports/libsigcpp/vcpkg.json
@@ -1,6 +1,7 @@
{
"name": "libsigcpp",
"version": "3.0.3",
+ "port-version": 1,
"description": "Typesafe callback framework for C++",
"homepage": "https://libsigcplusplus.github.io/libsigcplusplus/"
}