aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/reflectcpp/portfile.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/reflectcpp/portfile.cmake')
-rw-r--r--vcpkg/ports/reflectcpp/portfile.cmake50
1 files changed, 50 insertions, 0 deletions
diff --git a/vcpkg/ports/reflectcpp/portfile.cmake b/vcpkg/ports/reflectcpp/portfile.cmake
new file mode 100644
index 0000000..9465fb8
--- /dev/null
+++ b/vcpkg/ports/reflectcpp/portfile.cmake
@@ -0,0 +1,50 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO getml/reflect-cpp
+ REF "v${VERSION}"
+ SHA512 ef157de2426c2961a04cfc3bef6c6dd86b76b44e18f1c7b76cbe7d1bd78efa1b2e236fe4fdefbd2ae4a1d876231916b2338d062d0837d1c1cb8e29f14110bb2c
+ HEAD_REF main
+)
+
+if(VCPKG_TARGET_IS_WINDOWS)
+ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+endif()
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" REFLECTCPP_BUILD_SHARED)
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ FEATURES
+ bson REFLECTCPP_BSON
+ capnproto REFLECTCPP_CAPNPROTO
+ cbor REFLECTCPP_CBOR
+ csv REFLECTCPP_CSV
+ flexbuffers REFLECTCPP_FLEXBUFFERS
+ msgpack REFLECTCPP_MSGPACK
+ parquet REFLECTCPP_PARQUET
+ toml REFLECTCPP_TOML
+ ubjson REFLECTCPP_UBJSON
+ xml REFLECTCPP_XML
+ yaml REFLECTCPP_YAML
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH ${SOURCE_PATH}
+ OPTIONS
+ ${FEATURE_OPTIONS}
+ -DREFLECTCPP_BUILD_TESTS=OFF
+ -DREFLECTCPP_BUILD_SHARED=${REFLECTCPP_BUILD_SHARED}
+ -DREFLECTCPP_USE_BUNDLED_DEPENDENCIES=OFF
+)
+
+vcpkg_cmake_install()
+
+vcpkg_cmake_config_fixup(
+ CONFIG_PATH "lib/cmake/${PORT}"
+)
+
+file(REMOVE_RECURSE
+ "${CURRENT_PACKAGES_DIR}/debug/include"
+ "${CURRENT_PACKAGES_DIR}/debug/share"
+)
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
+configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY)