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/wangle | |
Diffstat (limited to 'vcpkg/ports/wangle')
| -rw-r--r-- | vcpkg/ports/wangle/fix-config-cmake.patch | 22 | ||||
| -rw-r--r-- | vcpkg/ports/wangle/fix_dependency.patch | 79 | ||||
| -rw-r--r-- | vcpkg/ports/wangle/portfile.cmake | 52 | ||||
| -rw-r--r-- | vcpkg/ports/wangle/usage | 4 | ||||
| -rw-r--r-- | vcpkg/ports/wangle/vcpkg.json | 29 |
5 files changed, 186 insertions, 0 deletions
diff --git a/vcpkg/ports/wangle/fix-config-cmake.patch b/vcpkg/ports/wangle/fix-config-cmake.patch new file mode 100644 index 0000000..1d5949c --- /dev/null +++ b/vcpkg/ports/wangle/fix-config-cmake.patch @@ -0,0 +1,22 @@ +diff --git a/wangle/cmake/wangle-config.cmake.in b/wangle/cmake/wangle-config.cmake.in +index e50af54..e0fd0dc 100644 +--- a/wangle/cmake/wangle-config.cmake.in ++++ b/wangle/cmake/wangle-config.cmake.in +@@ -12,7 +12,16 @@ + @PACKAGE_INIT@ + + set_and_check(WANGLE_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@") +-set_and_check(WANGLE_CMAKE_DIR "@PACKAGE_CMAKE_INSTALL_DIR@") ++set_and_check(WANGLE_CMAKE_DIR "${PACKAGE_PREFIX_DIR}/share/wangle") ++ ++include(CMakeFindDependencyMacro) ++find_dependency(folly REQUIRED) ++find_dependency(fizz REQUIRED) ++find_dependency(glog REQUIRED) ++find_dependency(Threads REQUIRED) ++find_dependency(Libevent REQUIRED) ++find_dependency(OpenSSL REQUIRED) ++find_dependency(double-conversion REQUIRED) + + if (NOT TARGET wangle::wangle) + include("${WANGLE_CMAKE_DIR}/wangle-targets.cmake") diff --git a/vcpkg/ports/wangle/fix_dependency.patch b/vcpkg/ports/wangle/fix_dependency.patch new file mode 100644 index 0000000..f44d39f --- /dev/null +++ b/vcpkg/ports/wangle/fix_dependency.patch @@ -0,0 +1,79 @@ +diff --git a/wangle/CMakeLists.txt b/wangle/CMakeLists.txt +index 85ae066..766d3d3 100644 +--- a/wangle/CMakeLists.txt ++++ b/wangle/CMakeLists.txt +@@ -64,18 +64,23 @@ set(CMAKE_INSTALL_DIR lib/cmake/wangle CACHE STRING + find_package(folly CONFIG REQUIRED) + + find_package(fizz CONFIG REQUIRED) +-find_package(fmt CONFIG REQUIRED) + find_package(OpenSSL REQUIRED) +-find_package(Glog REQUIRED) +-find_package(gflags CONFIG QUIET) ++find_package(glog CONFIG REQUIRED) ++find_package(gflags CONFIG REQUIRED) ++find_package(Boost REQUIRED ++ COMPONENTS ++ filesystem ++ thread ++) ++ + if (gflags_FOUND) + message(STATUS "Found gflags from package config") + message(STATUS "gflags_CONFIG=${gflags_CONFIG}") + else() + find_package(Gflags REQUIRED) + endif() +-find_package(LibEvent MODULE REQUIRED) +-find_package(DoubleConversion REQUIRED) ++find_package(Libevent CONFIG REQUIRED) ++find_package(double-conversion CONFIG REQUIRED) + find_package(Threads REQUIRED) + if (UNIX AND NOT APPLE) + find_package(Librt) +@@ -166,6 +171,14 @@ target_include_directories( + ${LIBEVENT_INCLUDE_DIR} + ${DOUBLE_CONVERSION_INCLUDE_DIR} + ) ++set(Boost_LIBRARIES Boost::boost Boost::filesystem Boost::thread ) ++set(FOLLY_LIBRARIES Folly::folly) ++set(FIZZ_LIBRARIES fizz::fizz) ++set(GLOG_LIBRARIES glog::glog) ++set(GFLAGS_LIBRARIES gflags::gflags) ++set(LIBEVENT_LIB libevent::core libevent::extra) ++set(DOUBLE_CONVERSION_LIBRARIES double-conversion::double-conversion) ++ + target_link_libraries(wangle PUBLIC + ${FOLLY_LIBRARIES} + ${FIZZ_LIBRARIES} +diff --git a/wangle/cmake/wangle-config.cmake.in b/wangle/cmake/wangle-config.cmake.in +index e0fd0dc..5f6cf14 100644 +--- a/wangle/cmake/wangle-config.cmake.in ++++ b/wangle/cmake/wangle-config.cmake.in +@@ -15,13 +15,19 @@ set_and_check(WANGLE_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@") + set_and_check(WANGLE_CMAKE_DIR "${PACKAGE_PREFIX_DIR}/share/wangle") + + include(CMakeFindDependencyMacro) +-find_dependency(folly REQUIRED) +-find_dependency(fizz REQUIRED) +-find_dependency(glog REQUIRED) +-find_dependency(Threads REQUIRED) +-find_dependency(Libevent REQUIRED) +-find_dependency(OpenSSL REQUIRED) +-find_dependency(double-conversion REQUIRED) ++find_dependency(folly CONFIG) ++find_dependency(fizz CONFIG) ++find_dependency(gflags CONFIG) ++find_dependency(glog CONFIG) ++find_dependency(Threads) ++find_dependency(Libevent CONFIG) ++find_dependency(OpenSSL) ++find_dependency(double-conversion CONFIG) ++find_dependency(Boost ++ COMPONENTS ++ filesystem ++ thread ++) + + if (NOT TARGET wangle::wangle) + include("${WANGLE_CMAKE_DIR}/wangle-targets.cmake") diff --git a/vcpkg/ports/wangle/portfile.cmake b/vcpkg/ports/wangle/portfile.cmake new file mode 100644 index 0000000..36e0f05 --- /dev/null +++ b/vcpkg/ports/wangle/portfile.cmake @@ -0,0 +1,52 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO facebook/wangle
+ REF "v${VERSION}"
+ SHA512 d595350fe4ce16f96f93b4922d86035da7aa40c04a6557db09b715b800a275f19ca0e57028eaa558d3512999bfd8c2399d13f540f9f85ceacb4a13d33a3265db
+ HEAD_REF main
+ PATCHES
+ fix-config-cmake.patch
+ fix_dependency.patch
+)
+
+file(REMOVE
+ "${SOURCE_PATH}/wangle/cmake/FindDoubleConversion.cmake"
+ "${SOURCE_PATH}/build/fbcode_builder/CMake/FindGflags.cmake"
+ "${SOURCE_PATH}/build/fbcode_builder/CMake/FindGlog.cmake"
+ "${SOURCE_PATH}/build/fbcode_builder/CMake/FindGMock.cmake"
+ "${SOURCE_PATH}/build/fbcode_builder/CMake/FindLibEvent.cmake"
+ "${SOURCE_PATH}/build/fbcode_builder/CMake/FindSodium.cmake"
+ "${SOURCE_PATH}/build/fbcode_builder/CMake/FindZstd.cmake"
+)
+
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}/wangle"
+ OPTIONS
+ -DBUILD_TESTS=OFF
+ -DBUILD_EXAMPLES=OFF
+ -DINCLUDE_INSTALL_DIR:STRING=include
+)
+
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/wangle)
+
+file(READ "${CURRENT_PACKAGES_DIR}/share/wangle/wangle-targets.cmake" _contents)
+STRING(REPLACE "\${_IMPORT_PREFIX}/lib/" "\${_IMPORT_PREFIX}/\$<\$<CONFIG:DEBUG>:debug/>lib/" _contents "${_contents}")
+STRING(REPLACE "\${_IMPORT_PREFIX}/debug/lib/" "\${_IMPORT_PREFIX}/\$<\$<CONFIG:DEBUG>:debug/>lib/" _contents "${_contents}")
+file(WRITE "${CURRENT_PACKAGES_DIR}/share/wangle/wangle-targets.cmake" "${_contents}")
+
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE
+ "${CURRENT_PACKAGES_DIR}/debug/include"
+ "${CURRENT_PACKAGES_DIR}/include/wangle/util/test"
+ "${CURRENT_PACKAGES_DIR}/include/wangle/ssl/test/certs"
+ "${CURRENT_PACKAGES_DIR}/include/wangle/service/test"
+ "${CURRENT_PACKAGES_DIR}/include/wangle/deprecated/rx/test"
+)
+
+file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
diff --git a/vcpkg/ports/wangle/usage b/vcpkg/ports/wangle/usage new file mode 100644 index 0000000..50903e7 --- /dev/null +++ b/vcpkg/ports/wangle/usage @@ -0,0 +1,4 @@ +The package wangle is compatible with built-in CMake targets: + + find_package(wangle REQUIRED) + target_link_libraries(main PRIVATE wangle::wangle) diff --git a/vcpkg/ports/wangle/vcpkg.json b/vcpkg/ports/wangle/vcpkg.json new file mode 100644 index 0000000..032e790 --- /dev/null +++ b/vcpkg/ports/wangle/vcpkg.json @@ -0,0 +1,29 @@ +{ + "name": "wangle", + "version-string": "2025.05.19.00", + "description": "Wangle is a framework providing a set of common client/server abstractions for building services in a consistent, modular, and composable way.", + "homepage": "https://github.com/facebook/wangle", + "license": "Apache-2.0", + "dependencies": [ + "boost-context", + "boost-filesystem", + "boost-regex", + "boost-system", + "boost-thread", + "double-conversion", + "fizz", + "folly", + "gflags", + "glog", + "libevent", + "openssl", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |