diff options
Diffstat (limited to 'vcpkg/ports/catch2')
| -rw-r--r-- | vcpkg/ports/catch2/fix-install-path.patch | 52 | ||||
| -rw-r--r-- | vcpkg/ports/catch2/portfile.cmake | 45 | ||||
| -rw-r--r-- | vcpkg/ports/catch2/vcpkg.json | 22 |
3 files changed, 119 insertions, 0 deletions
diff --git a/vcpkg/ports/catch2/fix-install-path.patch b/vcpkg/ports/catch2/fix-install-path.patch new file mode 100644 index 0000000..83d50b4 --- /dev/null +++ b/vcpkg/ports/catch2/fix-install-path.patch @@ -0,0 +1,52 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1676ee7..5231934 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -167,13 +167,13 @@ if(NOT_SUBPROJECT) + "extras/gdbinit" + "extras/lldbinit" + DESTINATION +- ${CMAKE_INSTALL_DATAROOTDIR}/Catch2 ++ ${CMAKE_INSTALL_DATAROOTDIR}/catch2 + ) + endif() + + ## Provide some pkg-config integration + set(PKGCONFIG_INSTALL_DIR +- "${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig" ++ "${CMAKE_INSTALL_LIBDIR}/pkgconfig" + CACHE PATH "Path where catch2.pc is installed" + ) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 1e3af14..265626c 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -402,7 +402,6 @@ if(NOT_SUBPROJECT) + install( + TARGETS + Catch2 +- Catch2WithMain + EXPORT + Catch2Targets + LIBRARY DESTINATION +@@ -413,6 +412,19 @@ if(NOT_SUBPROJECT) + ${CMAKE_INSTALL_BINDIR} + ) + ++ install( ++ TARGETS ++ Catch2WithMain ++ EXPORT ++ Catch2Targets ++ LIBRARY DESTINATION ++ ${CMAKE_INSTALL_LIBDIR}/manual-link ++ ARCHIVE DESTINATION ++ ${CMAKE_INSTALL_LIBDIR}/manual-link ++ RUNTIME DESTINATION ++ ${CMAKE_INSTALL_BINDIR} ++ ) ++ + install( + EXPORT + Catch2Targets diff --git a/vcpkg/ports/catch2/portfile.cmake b/vcpkg/ports/catch2/portfile.cmake new file mode 100644 index 0000000..767c9b7 --- /dev/null +++ b/vcpkg/ports/catch2/portfile.cmake @@ -0,0 +1,45 @@ +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO catchorg/Catch2 + REF v${VERSION} + SHA512 a95495142f915d6e9c2a23e80fe360343e9097680066a2f9d3037a070ba5f81ee5559a0407cc9e972dc2afae325873f1fc7ea07a64012c0f01aac6e549f03e3f + HEAD_REF devel + PATCHES + fix-install-path.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS OPTIONS + FEATURES + thread-safe-assertions CATCH_CONFIG_EXPERIMENTAL_THREAD_SAFE_ASSERTIONS +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + ${OPTIONS} + -DCATCH_INSTALL_DOCS=OFF + -DCMAKE_CXX_STANDARD=17 +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Catch2) +vcpkg_fixup_pkgconfig() +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/catch2-with-main.pc" [["-L${libdir}"]] [["-L${libdir}/manual-link"]]) +if(NOT VCPKG_BUILD_TYPE) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/catch2-with-main.pc" [["-L${libdir}"]] [["-L${libdir}/manual-link"]]) +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +# We remove these folders because they are empty and cause warnings on the library installation +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/catch2/benchmark/internal") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/catch2/generators/internal") + +file(WRITE "${CURRENT_PACKAGES_DIR}/include/catch.hpp" "#include <catch2/catch_all.hpp>") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") diff --git a/vcpkg/ports/catch2/vcpkg.json b/vcpkg/ports/catch2/vcpkg.json new file mode 100644 index 0000000..5621d8d --- /dev/null +++ b/vcpkg/ports/catch2/vcpkg.json @@ -0,0 +1,22 @@ +{ + "name": "catch2", + "version-semver": "3.11.0", + "description": "A modern, C++-native, test framework for unit-tests, TDD and BDD.", + "homepage": "https://github.com/catchorg/Catch2", + "license": "BSL-1.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "thread-safe-assertions": { + "description": "Enables thread safe assertions" + } + } +} |