aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Ivanov <ivanov.st94@gmail.com>2018-11-08 09:44:36 +0200
committerRobert Schumacher <roschuma@microsoft.com>2018-11-07 23:44:36 -0800
commit40af541c5053e618741ad6aadcfdbbe520129c94 (patch)
treec109f1364a9c94dff61fac18a1ee4eca55c0fafe
parent17870d0fddde801632b717471ae8c39d9ed59cc6 (diff)
downloadvcpkg-40af541c5053e618741ad6aadcfdbbe520129c94.tar.gz
vcpkg-40af541c5053e618741ad6aadcfdbbe520129c94.zip
[rapidcheck] Add initial support for RapidCheck (#4605)
* Add initial support for RapidCheck Create a portfile for the C++ property-based testing library RapidCheck. This port is relatively straight forward but there are a couple of caveats: * The current port uses a branch from a fork that I modified as the CMake installation logic had some problems. The library was almost exclusively used by being added as a subfolder so the CMake export machinery was probably not well tested. * The changes are going to get merged into the main repository eventually and then it would be possible to change where the source code is downloaded. I am unaware when the main RapidCheck library maintainer will accept my pull request, so it is better to have this library in VCPKG sooner, rather than later. * Update the RapidCheck portfile to download the library sources for the main repository * Since the maintainer of RapidCheck very quickly merged the required CMake modifications to enable the proper installation of the library, it is better to now use the official repository's master branch. * Change the versioning of the library to be based on the date of the git reference chosen since rapid check does not have an explicit versioning scheme. * Update rapidcheck and modify configuration step * [rapidcheck] Tidy
-rw-r--r--ports/rapidcheck/CONTROL3
-rw-r--r--ports/rapidcheck/portfile.cmake30
2 files changed, 33 insertions, 0 deletions
diff --git a/ports/rapidcheck/CONTROL b/ports/rapidcheck/CONTROL
new file mode 100644
index 000000000..67c82313c
--- /dev/null
+++ b/ports/rapidcheck/CONTROL
@@ -0,0 +1,3 @@
+Source: rapidcheck
+Version: 2018-11-05-1
+Description: A property-based testing library for C++ (a la QuickCheck) with the goal of being simple to use with as little boilerplate as possible.
diff --git a/ports/rapidcheck/portfile.cmake b/ports/rapidcheck/portfile.cmake
new file mode 100644
index 000000000..bdebdb656
--- /dev/null
+++ b/ports/rapidcheck/portfile.cmake
@@ -0,0 +1,30 @@
+include(vcpkg_common_functions)
+
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO emil-e/rapidcheck
+ REF cf9e0d8bd8c94e9dc00dc0ab302352bfaf1a3ac5
+ SHA512 6cef62edbda391c3527d63db350842f669841ad2c751a64773250cd40bb65f26c2c394b107ef5530c2d3bd15b7079148fa9778d68a7346225bbb15227b1553c5
+ HEAD_REF master
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DRC_INSTALL_ALL_EXTRAS=ON
+)
+
+vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets(CONFIG_PATH share/rapidcheck/cmake)
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share)
+
+# Handle copyright
+configure_file(${SOURCE_PATH}/LICENSE.md ${CURRENT_PACKAGES_DIR}/share/rapidcheck/copyright COPYONLY)
+
+# Post-build test for cmake libraries
+vcpkg_test_cmake(PACKAGE_NAME rapidcheck)