diff options
Diffstat (limited to 'vcpkg/ports/redis-plus-plus/portfile.cmake')
| -rw-r--r-- | vcpkg/ports/redis-plus-plus/portfile.cmake | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/vcpkg/ports/redis-plus-plus/portfile.cmake b/vcpkg/ports/redis-plus-plus/portfile.cmake new file mode 100644 index 0000000..656806e --- /dev/null +++ b/vcpkg/ports/redis-plus-plus/portfile.cmake @@ -0,0 +1,66 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO sewenew/redis-plus-plus + REF "${VERSION}" + SHA512 3de216fc32894eb2d9f61a559bf69c8e154122209f2ba95aac202d769688d27cd1059424ad8a1173c7073ee34bfbd5ad981bb313d9298cd39ebe245e88d9e9fe + HEAD_REF master + PATCHES + fix-conversion.patch + fix-dependency-libuv.patch + fix-absolute-path.patch +) + +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + "tls" REDIS_PLUS_PLUS_USE_TLS +) + +if("cxx17" IN_LIST FEATURES) + set(REDIS_PLUS_PLUS_CXX_STANDARD 17) +else() + set(REDIS_PLUS_PLUS_CXX_STANDARD 11) +endif() + +set(EXTRA_OPT "") +if ("async" IN_LIST FEATURES) + list(APPEND EXTRA_OPT "-DREDIS_PLUS_PLUS_BUILD_ASYNC=libuv") +endif() +if ("async-std" IN_LIST FEATURES) + list(APPEND EXTRA_OPT "-DREDIS_PLUS_PLUS_ASYNC_FUTURE=std") +endif() + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" REDIS_PLUS_PLUS_BUILD_STATIC) +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" REDIS_PLUS_PLUS_BUILD_SHARED) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + ${FEATURE_OPTIONS} + -DREDIS_PLUS_PLUS_BUILD_STATIC=${REDIS_PLUS_PLUS_BUILD_STATIC} + -DREDIS_PLUS_PLUS_BUILD_SHARED=${REDIS_PLUS_PLUS_BUILD_SHARED} + -DREDIS_PLUS_PLUS_BUILD_TEST=OFF + -DREDIS_PLUS_PLUS_CXX_STANDARD=${REDIS_PLUS_PLUS_CXX_STANDARD} + ${EXTRA_OPT} +) + +vcpkg_cmake_install() + +vcpkg_copy_pdbs() + +vcpkg_cmake_config_fixup(PACKAGE_NAME redis++ CONFIG_PATH share/cmake/redis++) + +if("async" IN_LIST FEATURES) + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/redis++/redis++-config.cmake" +"include(CMakeFindDependencyMacro)" +[[include(CMakeFindDependencyMacro) +find_dependency(libuv CONFIG)]]) +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +# Handle copyright +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE") + +vcpkg_fixup_pkgconfig() |