diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/check | |
Diffstat (limited to 'vcpkg/ports/check')
| -rw-r--r-- | vcpkg/ports/check/fix-lib-path.patch | 43 | ||||
| -rw-r--r-- | vcpkg/ports/check/linkage.patch | 20 | ||||
| -rw-r--r-- | vcpkg/ports/check/portfile.cmake | 36 | ||||
| -rw-r--r-- | vcpkg/ports/check/usage | 4 | ||||
| -rw-r--r-- | vcpkg/ports/check/vcpkg.json | 18 |
5 files changed, 121 insertions, 0 deletions
diff --git a/vcpkg/ports/check/fix-lib-path.patch b/vcpkg/ports/check/fix-lib-path.patch new file mode 100644 index 0000000..d3086e7 --- /dev/null +++ b/vcpkg/ports/check/fix-lib-path.patch @@ -0,0 +1,43 @@ +diff --git a/doc/example/src/CMakeLists.txt b/doc/example/src/CMakeLists.txt +index b5e211e..2a92a1a 100644 +--- a/doc/example/src/CMakeLists.txt ++++ b/doc/example/src/CMakeLists.txt +@@ -18,7 +18,7 @@ target_link_libraries(main money) + + install(TARGETS money + RUNTIME DESTINATION bin +- LIBRARY DESTINATION lib +- ARCHIVE DESTINATION lib) ++ LIBRARY DESTINATION lib/manual-link ++ ARCHIVE DESTINATION lib/manual-link) + + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/money.h DESTINATION include) +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index 38cbc53..d8a4272 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -75,5 +75,11 @@ set(HEADERS libcompat.h) + + add_library(compat STATIC ${SOURCES} ${HEADERS}) + ++install(TARGETS compat ++ RUNTIME DESTINATION bin ++ LIBRARY DESTINATION lib/manual-link ++ ARCHIVE DESTINATION lib/manual-link ++) ++ + # vim: shiftwidth=2:softtabstop=2:tabstop=2:expandtab:autoindent + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 4a02dbe..3bf2fa6 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -191,7 +191,7 @@ if(NOT THIS_IS_SUBPROJECT) + install(TARGETS check checkShared + EXPORT check-targets + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} +- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/manual-link + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ) diff --git a/vcpkg/ports/check/linkage.patch b/vcpkg/ports/check/linkage.patch new file mode 100644 index 0000000..3c18c52 --- /dev/null +++ b/vcpkg/ports/check/linkage.patch @@ -0,0 +1,20 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 4a02dbe..3e147e4 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -188,7 +188,14 @@ target_include_directories(checkShared + ) + + if(NOT THIS_IS_SUBPROJECT) +- install(TARGETS check checkShared ++ if(BUILD_SHARED_LIBS) ++ set(lib checkShared) ++ set_target_properties(check PROPERTIES EXCLUDE_FROM_ALL 1) ++ else() ++ set(lib check) ++ set_target_properties(checkShared PROPERTIES EXCLUDE_FROM_ALL 1) ++ endif() ++ install(TARGETS ${lib} + EXPORT check-targets + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/manual-link diff --git a/vcpkg/ports/check/portfile.cmake b/vcpkg/ports/check/portfile.cmake new file mode 100644 index 0000000..3033360 --- /dev/null +++ b/vcpkg/ports/check/portfile.cmake @@ -0,0 +1,36 @@ +vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO libcheck/check
+ REF 11970a7e112dfe243a2e68773f014687df2900e8 # 0.15.2
+ SHA512 210c9617fa1c1ce16bef983b0e6cb587b1774c3f7ce27a53ca7799642dc7a14be8de567d69dc0e57845684c6f7991d772c73654f63c8755afda3b37a35c7156e
+ HEAD_REF master
+ PATCHES
+ fix-lib-path.patch
+ linkage.patch
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DBUILD_TESTING=OFF
+ -DCHECK_ENABLE_GCOV=OFF
+ -DCHECK_ENABLE_TESTS=OFF
+ -DCHECK_ENABLE_TIMEOUT_TESTS=OFF
+ -DENABLE_MEMORY_LEAKING_TESTS=OFF
+ -DINSTALL_CHECKMK=OFF
+)
+
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/check)
+vcpkg_fixup_pkgconfig()
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic" AND VCPKG_TARGET_IS_WINDOWS)
+ vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/check.h" "#define CK_DLL_EXP" "#define CK_DLL_EXP __declspec(dllimport)")
+endif()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/man")
+
+file(COPY "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING.LESSER")
diff --git a/vcpkg/ports/check/usage b/vcpkg/ports/check/usage new file mode 100644 index 0000000..a511e13 --- /dev/null +++ b/vcpkg/ports/check/usage @@ -0,0 +1,4 @@ +check provides CMake targets: + + find_package(check CONFIG REQUIRED) + target_link_libraries(main PRIVATE $<IF:$<TARGET_EXISTS:Check::check>,Check::check,Check::checkShared>) diff --git a/vcpkg/ports/check/vcpkg.json b/vcpkg/ports/check/vcpkg.json new file mode 100644 index 0000000..dbc06c3 --- /dev/null +++ b/vcpkg/ports/check/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "check", + "version": "0.15.2", + "port-version": 5, + "description": "A unit testing framework for C", + "homepage": "https://github.com/libcheck/check", + "license": "LGPL-2.1-only", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |