mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-27 18:31:15 +08:00
dd1baa1301
<!-- If your PR fixes issues, please note that here by adding "Fixes #NNNNNN." for each fixed issue on separate lines. --> <!-- If you are still working on the PR, open it as a Draft: https://github.blog/2019-02-14-introducing-draft-pull-requests/. --> - [x] Changes comply with the [maintainer guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md). - [x] SHA512s are updated for each updated download. - [x] The "supports" clause reflects platforms that may be fixed by this new version. - [x] Any fixed [CI baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt) entries are removed from that file. - [x] Any patches that are no longer applied are deleted from the port's directory. - [x] The version database is fixed by rerunning `./vcpkg x-add-version --all` and committing the result. - [x] Only one version is added to each modified port's versions file. <!-- If this PR adds a new port, please uncomment and fill out this checklist: - [ ] Changes comply with the [maintainer guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md). - [ ] The name of the port matches an existing name for this component on https://repology.org/ if possible, and/or is strongly associated with that component on search engines. - [ ] Optional dependencies are resolved in exactly one way. For example, if the component is built with CMake, all `find_package` calls are REQUIRED, are satisfied by `vcpkg.json`'s declared dependencies, or disabled with [CMAKE_DISABLE_FIND_PACKAGE_Xxx](https://cmake.org/cmake/help/latest/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.html). - [ ] The versioning scheme in `vcpkg.json` matches what upstream says. - [ ] The license declaration in `vcpkg.json` matches what upstream says. - [ ] The installed as the "copyright" file matches what upstream says. - [ ] The source code of the component installed comes from an authoritative source. - [ ] The generated "usage text" is accurate. See [adding-usage](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/examples/adding-usage.md) for context. - [ ] The version database is fixed by rerunning `./vcpkg x-add-version --all` and committing the result. - [ ] Only one version is in the new port's versions file. - [ ] Only one version is added to each modified port's versions file. END OF NEW PORT CHECKLIST (delete this line) --> --- 1. Apologies for the _huge_ PR, but these packages are interdependent, making it difficult to separate them into individual PRs. 2. The main focus of this PR is to update the following ports: folly, fizz, wangle, proxygen, mvfst, and fbthrift. Additionally, rsocket needs to be updated due to its reliance on folly. It is concerning that rsocket has not been updated since 2021, while folly is actively developed and maintained. 3. This PR also consolidates some patches into a single one, as some patches modify the same file. 4. I need to include the cachelib package in the CI baseline file because it depends on the libaio system package. I can achieve a successful build locally when libaio is installed. Note that cachelib is also updated to the latest available version. ``` $ sudo apt search libaio Sorting... Done Full Text Search... Done libaio-dev/mantic,now 0.3.113-5 amd64 [installed] Linux kernel AIO access library - development files libaio1/mantic,now 0.3.113-5 amd64 [installed,automatic] Linux kernel AIO access library - shared library $ vcpkg install cachelib Computing installation plan... The following packages will be built and installed: cachelib:x64-linux@2024.04.15.00 * fbthrift:x64-linux@2024.04.15.00 * fizz:x64-linux@2024.04.15.00 * folly[core,libaio,zlib]:x64-linux@2024.04.15.00 * mvfst:x64-linux@2024.04.15.00 * wangle:x64-linux@2024.04.15.00 Additional packages (*) will be modified to complete this operation. Detecting compiler hash for triplet x64-linux... Restored 0 package(s) from /home/miao/.cache/vcpkg/archives in 14.9 us. Use --debug to see more details. Installing 1/6 folly[core,libaio,zlib]:x64-linux@2024.04.15.00... Building folly[core,libaio,zlib]:x64-linux@2024.04.15.00... -- Using cached facebook-folly-v2024.04.15.00.tar.gz. -- Cleaning sources at /home/miao/vcpkg/buildtrees/folly/src/4.04.15.00-b80a213ee9.clean. Use --editable to skip cleaning for the packages you specify. -- Extracting source /home/miao/vcpkg/downloads/facebook-folly-v2024.04.15.00.tar.gz -- Applying patch disable-non-underscore-posix-names.patch -- Applying patch boost-1.70.patch -- Applying patch fix-windows-minmax.patch -- Applying patch fix-deps.patch -- Applying patch disable-uninitialized-resize-on-new-stl.patch -- Applying patch fix-unistd-include.patch -- Using source at /home/miao/vcpkg/buildtrees/folly/src/4.04.15.00-b80a213ee9.clean -- Found external ninja('1.11.1'). -- Configuring x64-linux -- Building x64-linux-dbg -- Building x64-linux-rel -- Installing: /home/miao/vcpkg/packages/folly_x64-linux/share/folly/copyright -- Fixing pkgconfig file: /home/miao/vcpkg/packages/folly_x64-linux/lib/pkgconfig/libfolly.pc -- Fixing pkgconfig file: /home/miao/vcpkg/packages/folly_x64-linux/debug/lib/pkgconfig/libfolly.pc -- Performing post-build validation Stored binaries in 1 destinations in 17 s. Elapsed time to handle folly:x64-linux: 6.3 min folly:x64-linux package ABI: ce6dd8349631a07b047b6242099b65accab633afe713705b0da435414bc119c2 Installing 2/6 fizz:x64-linux@2024.04.15.00... Building fizz:x64-linux@2024.04.15.00... -- Using cached facebookincubator-fizz-v2024.04.15.00.tar.gz. -- Cleaning sources at /home/miao/vcpkg/buildtrees/fizz/src/4.04.15.00-d535f4a534.clean. Use --editable to skip cleaning for the packages you specify. -- Extracting source /home/miao/vcpkg/downloads/facebookincubator-fizz-v2024.04.15.00.tar.gz -- Applying patch fix-build.patch -- Using source at /home/miao/vcpkg/buildtrees/fizz/src/4.04.15.00-d535f4a534.clean -- Found external ninja('1.11.1'). -- Configuring x64-linux -- Building x64-linux-dbg -- Building x64-linux-rel -- Installing: /home/miao/vcpkg/packages/fizz_x64-linux/share/fizz/copyright -- Performing post-build validation Stored binaries in 1 destinations in 3.1 s. Elapsed time to handle fizz:x64-linux: 2 min fizz:x64-linux package ABI: 844ba8f534cdb73330de3ba6c4c7429635035d093395152a1bb7daeb4cd3f511 Installing 3/6 mvfst:x64-linux@2024.04.15.00... Building mvfst:x64-linux@2024.04.15.00... -- Using cached facebook-mvfst-v2024.04.15.00.tar.gz. -- Cleaning sources at /home/miao/vcpkg/buildtrees/mvfst/src/4.04.15.00-aab79f192b.clean. Use --editable to skip cleaning for the packages you specify. -- Extracting source /home/miao/vcpkg/downloads/facebook-mvfst-v2024.04.15.00.tar.gz -- Using source at /home/miao/vcpkg/buildtrees/mvfst/src/4.04.15.00-aab79f192b.clean -- Found external ninja('1.11.1'). -- Configuring x64-linux -- Building x64-linux-dbg -- Building x64-linux-rel -- Installing: /home/miao/vcpkg/packages/mvfst_x64-linux/share/mvfst/copyright -- Performing post-build validation Stored binaries in 1 destinations in 9.3 s. Elapsed time to handle mvfst:x64-linux: 5.4 min mvfst:x64-linux package ABI: 742b1e47a5108adac566ae4ad787e73fb4ac3d1dac7c0ab290056a8884ec8585 Installing 4/6 wangle:x64-linux@2024.04.15.00... Building wangle:x64-linux@2024.04.15.00... -- Using cached facebook-wangle-v2024.04.15.00.tar.gz. -- Cleaning sources at /home/miao/vcpkg/buildtrees/wangle/src/4.04.15.00-d032e08eb3.clean. Use --editable to skip cleaning for the packages you specify. -- Extracting source /home/miao/vcpkg/downloads/facebook-wangle-v2024.04.15.00.tar.gz -- Applying patch fix-config-cmake.patch -- Applying patch fix_dependency.patch -- Using source at /home/miao/vcpkg/buildtrees/wangle/src/4.04.15.00-d032e08eb3.clean -- Found external ninja('1.11.1'). -- Configuring x64-linux -- Building x64-linux-dbg -- Building x64-linux-rel -- Installing: /home/miao/vcpkg/packages/wangle_x64-linux/share/wangle/usage -- Installing: /home/miao/vcpkg/packages/wangle_x64-linux/share/wangle/copyright -- Performing post-build validation Stored binaries in 1 destinations in 2 s. Elapsed time to handle wangle:x64-linux: 1.4 min wangle:x64-linux package ABI: 25eecbd80463fb623b986e0a839d936bdb7ce84418cfbb122b7c6a18f9298da8 Installing 5/6 fbthrift:x64-linux@2024.04.15.00... Building fbthrift:x64-linux@2024.04.15.00... -- Using cached facebook-fbthrift-v2024.04.15.00.tar.gz. -- Cleaning sources at /home/miao/vcpkg/buildtrees/fbthrift/src/4.04.15.00-676cd7c3b0.clean. Use --editable to skip cleaning for the packages you specify. -- Extracting source /home/miao/vcpkg/downloads/facebook-fbthrift-v2024.04.15.00.tar.gz -- Applying patch fix-glog.patch -- Applying patch 0002-fix-dependency.patch -- Using source at /home/miao/vcpkg/buildtrees/fbthrift/src/4.04.15.00-676cd7c3b0.clean -- Found external ninja('1.11.1'). -- Configuring x64-linux -- Building x64-linux-dbg -- Building x64-linux-rel -- Installing: /home/miao/vcpkg/packages/fbthrift_x64-linux/share/fbthrift/copyright -- Adjusted RPATH of '/home/miao/vcpkg/packages/fbthrift_x64-linux/tools/fbthrift/thrift1' (From '/home/miao/vcpkg/packages/fbthrift_x64-linux/lib' -> To '$ORIGIN:$ORIGIN/../../lib') -- Performing post-build validation Stored binaries in 1 destinations in 22 s. Elapsed time to handle fbthrift:x64-linux: 16 min fbthrift:x64-linux package ABI: 1bc7f81cd065c797e1272ed12b0d101f500ec31707185b183489f16e17224410 Installing 6/6 cachelib:x64-linux@2024.04.15.00... Building cachelib:x64-linux@2024.04.15.00... -- Using cached facebook-CacheLib-v2024.04.15.00.tar.gz. -- Cleaning sources at /home/miao/vcpkg/buildtrees/cachelib/src/4.04.15.00-467d8fff12.clean. Use --editable to skip cleaning for the packages you specify. -- Extracting source /home/miao/vcpkg/downloads/facebook-CacheLib-v2024.04.15.00.tar.gz -- Applying patch fix-build.patch -- Applying patch fix-glog.patch -- Using source at /home/miao/vcpkg/buildtrees/cachelib/src/4.04.15.00-467d8fff12.clean -- Found external ninja('1.11.1'). -- Configuring x64-linux -- Building x64-linux-dbg -- Building x64-linux-rel -- Installing: /home/miao/vcpkg/packages/cachelib_x64-linux/share/cachelib/copyright -- Performing post-build validation Stored binaries in 1 destinations in 9.2 s. Elapsed time to handle cachelib:x64-linux: 6.8 min cachelib:x64-linux package ABI: eb476b6caf2174b1be9ef3564cc9ba66c4ca2bc11e44545b090f5e3349669704 Total install time: 38 min cachelib provides CMake targets: # this is heuristically generated, and may not be correct find_package(cachelib CONFIG REQUIRED) # note: 2 additional targets are not displayed. target_link_libraries(main PRIVATE cachelib cachelib_shm cachelib_navy cachelib_common) ```
181 lines
5.2 KiB
Diff
181 lines
5.2 KiB
Diff
diff --git a/fizz/CMakeLists.txt b/fizz/CMakeLists.txt
|
|
index e69ae168..65c9d62c 100644
|
|
--- a/fizz/CMakeLists.txt
|
|
+++ b/fizz/CMakeLists.txt
|
|
@@ -50,53 +50,31 @@ find_package(folly CONFIG REQUIRED)
|
|
find_package(fmt CONFIG REQUIRED)
|
|
|
|
find_package(OpenSSL REQUIRED)
|
|
-find_package(Glog REQUIRED)
|
|
-find_package(DoubleConversion REQUIRED)
|
|
+find_package(glog CONFIG REQUIRED)
|
|
+find_package(double-conversion CONFIG REQUIRED)
|
|
find_package(Threads REQUIRED)
|
|
-find_package(Zstd REQUIRED)
|
|
if (UNIX AND NOT APPLE)
|
|
find_package(Librt)
|
|
endif()
|
|
|
|
include(CheckAtomic)
|
|
|
|
-find_package(Sodium REQUIRED)
|
|
+find_package(unofficial-sodium CONFIG REQUIRED)
|
|
|
|
SET(FIZZ_SHINY_DEPENDENCIES "")
|
|
SET(FIZZ_LINK_LIBRARIES "")
|
|
SET(FIZZ_INCLUDE_DIRECTORIES "")
|
|
|
|
-find_package(gflags CONFIG QUIET)
|
|
-if (gflags_FOUND)
|
|
- message(STATUS "Found gflags from package config")
|
|
- if (TARGET gflags-shared)
|
|
- list(APPEND FIZZ_SHINY_DEPENDENCIES gflags-shared)
|
|
- elseif (TARGET gflags)
|
|
- list(APPEND FIZZ_SHINY_DEPENDENCIES gflags)
|
|
- else()
|
|
- message(FATAL_ERROR "Unable to determine the target name for the GFlags package.")
|
|
- endif()
|
|
- list(APPEND CMAKE_REQUIRED_LIBRARIES ${GFLAGS_LIBRARIES})
|
|
- list(APPEND CMAKE_REQUIRED_INCLUDES ${GFLAGS_INCLUDE_DIR})
|
|
-else()
|
|
- find_package(Gflags REQUIRED MODULE)
|
|
- list(APPEND FIZZ_LINK_LIBRARIES ${LIBGFLAGS_LIBRARY})
|
|
- list(APPEND FIZZ_INCLUDE_DIRECTORIES ${LIBGFLAGS_INCLUDE_DIR})
|
|
- list(APPEND CMAKE_REQUIRED_LIBRARIES ${LIBGFLAGS_LIBRARY})
|
|
- list(APPEND CMAKE_REQUIRED_INCLUDES ${LIBGFLAGS_INCLUDE_DIR})
|
|
+find_package(zstd CONFIG REQUIRED)
|
|
+if(TARGET zstd::libzstd_shared)
|
|
+ list(APPEND FIZZ_LINK_LIBRARIES zstd::libzstd_shared)
|
|
+elseif(TARGET zstd::libzstd_static)
|
|
+ list(APPEND FIZZ_LINK_LIBRARIES zstd::libzstd_static)
|
|
endif()
|
|
|
|
+find_package(gflags CONFIG REQUIRED)
|
|
find_package(ZLIB REQUIRED)
|
|
-
|
|
-find_package(Libevent CONFIG QUIET)
|
|
-if(TARGET event)
|
|
- message(STATUS "Found libevent from package config")
|
|
- list(APPEND FIZZ_SHINY_DEPENDENCIES event)
|
|
-else()
|
|
- find_package(Libevent MODULE REQUIRED)
|
|
- list(APPEND FIZZ_LINK_LIBRARIES ${LIBEVENT_LIB})
|
|
- list(APPEND FIZZ_INCLUDE_DIRECTORIES ${LIBEVENT_INCLUDE_DIR})
|
|
-endif()
|
|
+find_package(Libevent CONFIG REQUIRED)
|
|
|
|
# Fizz build time options
|
|
include(FizzOptions)
|
|
@@ -254,30 +232,25 @@ target_include_directories(
|
|
$<BUILD_INTERFACE:${FIZZ_BASE_DIR}>
|
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/generated>
|
|
$<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR}>
|
|
- ${FOLLY_INCLUDE_DIR}
|
|
- ${OPENSSL_INCLUDE_DIR}
|
|
- ${sodium_INCLUDE_DIR}
|
|
- ${ZSTD_INCLUDE_DIR}
|
|
PRIVATE
|
|
- ${GLOG_INCLUDE_DIRS}
|
|
${FIZZ_INCLUDE_DIRECTORIES}
|
|
- ${DOUBLE_CONVERSION_INCLUDE_DIR}
|
|
)
|
|
|
|
|
|
target_link_libraries(fizz
|
|
PUBLIC
|
|
- ${FOLLY_LIBRARIES}
|
|
- ${OPENSSL_LIBRARIES}
|
|
- sodium
|
|
+ Folly::folly
|
|
+ OpenSSL::SSL
|
|
+ OpenSSL::Crypto
|
|
+ unofficial-sodium::sodium
|
|
Threads::Threads
|
|
ZLIB::ZLIB
|
|
- ${ZSTD_LIBRARY}
|
|
PRIVATE
|
|
- ${GLOG_LIBRARIES}
|
|
- ${GFLAGS_LIBRARIES}
|
|
+ glog::glog
|
|
+ gflags::gflags
|
|
${FIZZ_LINK_LIBRARIES}
|
|
- ${DOUBLE_CONVERSION_LIBRARY}
|
|
+ libevent::core
|
|
+ double-conversion::double-conversion
|
|
${CMAKE_DL_LIBS}
|
|
${LIBRT_LIBRARIES})
|
|
|
|
@@ -334,8 +307,7 @@ ENDIF(CMAKE_CROSSCOMPILING)
|
|
SET(FIZZ_TEST_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
|
|
|
|
if(BUILD_TESTS)
|
|
- find_package(GMock 1.8.0 MODULE REQUIRED)
|
|
- find_package(GTest 1.8.0 MODULE REQUIRED)
|
|
+ find_package(GTest CONFIG REQUIRED)
|
|
endif()
|
|
|
|
add_library(fizz_test_support
|
|
@@ -348,20 +320,7 @@ add_library(fizz_test_support
|
|
target_link_libraries(fizz_test_support
|
|
PUBLIC
|
|
fizz
|
|
- ${LIBGMOCK_LIBRARIES}
|
|
- ${GLOG_LIBRARY}
|
|
-)
|
|
-
|
|
-target_compile_definitions(fizz_test_support
|
|
- PUBLIC
|
|
- ${LIBGMOCK_DEFINES}
|
|
-)
|
|
-
|
|
-target_include_directories(fizz_test_support
|
|
- SYSTEM
|
|
- PUBLIC
|
|
- ${LIBGMOCK_INCLUDE_DIR}
|
|
- ${LIBGTEST_INCLUDE_DIRS}
|
|
+ glog::glog
|
|
)
|
|
|
|
# export fizz headers and targets for unit tests utils
|
|
@@ -386,14 +345,12 @@ macro(add_gtest test_source test_name)
|
|
add_executable(${test_name} ${test_source} test/CMakeTestMain.cpp)
|
|
|
|
set_property(TARGET ${test_name} PROPERTY ENABLE_EXPORTS true)
|
|
- target_include_directories(
|
|
- ${test_name} PUBLIC ${LIBGMOCK_INCLUDE_DIR} ${LIBGTEST_INCLUDE_DIR})
|
|
- target_compile_definitions(${test_name} PUBLIC ${LIBGMOCK_DEFINES})
|
|
target_link_libraries(
|
|
${test_name}
|
|
fizz
|
|
fizz_test_support
|
|
- ${LIBGMOCK_LIBRARIES})
|
|
+ GTest::gtest
|
|
+ GTest::gmock)
|
|
|
|
if(NOT ${CMAKE_CXX_COMPILER_ID} STREQUAL MSVC)
|
|
# GMOCK_MOCK_METHOD() will complain otherwise
|
|
diff --git a/fizz/cmake/fizz-config.cmake.in b/fizz/cmake/fizz-config.cmake.in
|
|
index 679b0e61..8a4b189e 100644
|
|
--- a/fizz/cmake/fizz-config.cmake.in
|
|
+++ b/fizz/cmake/fizz-config.cmake.in
|
|
@@ -26,9 +26,18 @@ endif()
|
|
set(FIZZ_LIBRARIES fizz::fizz)
|
|
|
|
include(CMakeFindDependencyMacro)
|
|
-find_dependency(Sodium)
|
|
+find_dependency(unofficial-sodium CONFIG)
|
|
find_dependency(folly CONFIG)
|
|
find_dependency(ZLIB)
|
|
+find_dependency(Libevent CONFIG)
|
|
+find_dependency(fmt CONFIG)
|
|
+find_dependency(OpenSSL)
|
|
+find_dependency(glog CONFIG)
|
|
+find_dependency(double-conversion CONFIG)
|
|
+find_dependency(Threads)
|
|
+find_dependency(gflags CONFIG)
|
|
+find_dependency(zstd CONFIG)
|
|
+find_dependency(GTest CONFIG)
|
|
|
|
if (NOT fizz_FIND_QUIETLY)
|
|
message(STATUS "Found fizz: ${PACKAGE_PREFIX_DIR}")
|