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/drogon/portfile.cmake | |
Diffstat (limited to 'vcpkg/ports/drogon/portfile.cmake')
| -rw-r--r-- | vcpkg/ports/drogon/portfile.cmake | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/vcpkg/ports/drogon/portfile.cmake b/vcpkg/ports/drogon/portfile.cmake new file mode 100644 index 0000000..df45bac --- /dev/null +++ b/vcpkg/ports/drogon/portfile.cmake @@ -0,0 +1,72 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO an-tao/drogon + REF "v${VERSION}" + SHA512 ce61c65281bde0246e96c3558cf635241adbcab514d6a71e8267201340f577af26b1cbc69fa48652d655971122a66c70db75d1a4c034384ba0716fccf7ad9584 + HEAD_REF master + PATCHES + 0001-vcpkg.patch + 0002-drogon-config.patch + 0003-deps-redis.patch + 0004-drogon-ctl.patch + 0005-drogon-cross-compile.patch +) + +set(DROGON_CTL_TOOL "") +if(VCPKG_CROSSCOMPILING) + set(DROGON_CTL_TOOL "${CURRENT_HOST_INSTALLED_DIR}/tools/drogon/drogon_ctl${VCPKG_HOST_EXECUTABLE_SUFFIX}") +endif() + +vcpkg_check_features( + OUT_FEATURE_OPTIONS FEATURE_OPTIONS + FEATURES + ctl BUILD_CTL + mysql BUILD_MYSQL + orm BUILD_ORM + postgres BUILD_POSTGRESQL + postgres LIBPQ_BATCH_MODE + redis BUILD_REDIS + sqlite3 BUILD_SQLITE + yaml BUILD_YAML_CONFIG +) + +string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_DROGON_SHARED) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE + OPTIONS + -DBUILD_SHARED_LIBS=${BUILD_DROGON_SHARED} + -DBUILD_EXAMPLES=OFF + -DCMAKE_DISABLE_FIND_PACKAGE_Boost=ON + -DUSE_SUBMODULE=OFF + "-DDROGON_CTL_TOOL=${DROGON_CTL_TOOL}" + ${FEATURE_OPTIONS} + MAYBE_UNUSED_VARIABLES + CMAKE_DISABLE_FIND_PACKAGE_Boost +) + +vcpkg_cmake_install(ADD_BIN_TO_PATH) + +# Fix CMake files +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/Drogon) + +vcpkg_fixup_pkgconfig() + +# Copy drogon_ctl +if("ctl" IN_LIST FEATURES) + vcpkg_copy_tools(TOOL_NAMES drogon_ctl AUTO_CLEAN) +endif() + +# Remove includes in debug +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) + +# Copy pdb files +vcpkg_copy_pdbs() |