aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/drogon/portfile.cmake
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/drogon/portfile.cmake
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/drogon/portfile.cmake')
-rw-r--r--vcpkg/ports/drogon/portfile.cmake72
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()