vcpkg/ports/folly/fix-deps.patch

240 lines
7.9 KiB
Diff

diff --git a/CMake/folly-config.cmake.in b/CMake/folly-config.cmake.in
index 5fc83ac..7efb0fc 100644
--- a/CMake/folly-config.cmake.in
+++ b/CMake/folly-config.cmake.in
@@ -34,10 +34,31 @@ endif()
set(FOLLY_LIBRARIES Folly::folly)
# Find folly's dependencies
-find_dependency(fmt)
+find_dependency(fmt CONFIG)
+find_dependency(double-conversion CONFIG)
+find_dependency(FastFloat CONFIG)
+set(z_vcpkg_folly_gflags_backup ${GFLAGS_USE_TARGET_NAMESPACE})
+set(GFLAGS_USE_TARGET_NAMESPACE ON)
+find_dependency(gflags CONFIG)
+set(GFLAGS_USE_TARGET_NAMESPACE ${z_vcpkg_folly_gflags_backup})
+find_dependency(glog CONFIG)
+find_dependency(Libevent CONFIG)
+find_dependency(ZLIB)
+if("@VCPKG_LOCK_FIND_PACKAGE_LZ4@")
+ find_dependency(lz4 CONFIG)
+endif()
+if("@VCPKG_LOCK_FIND_PACKAGE_ZSTD@")
+ find_dependency(zstd CONFIG)
+endif()
+if("@VCPKG_LOCK_FIND_PACKAGE_SNAPPY@")
+ find_dependency(Snappy CONFIG)
+endif()
+if("@VCPKG_LOCK_FIND_PACKAGE_LIBSODIUM@")
+ find_dependency(unofficial-sodium CONFIG)
+endif()
set(Boost_USE_STATIC_LIBS "@FOLLY_BOOST_LINK_STATIC@")
-find_package(Boost 1.69.0 REQUIRED
+find_dependency(Boost 1.69.0
COMPONENTS
context
filesystem
diff --git a/CMake/folly-config.h.cmake b/CMake/folly-config.h.cmake
index 1da1cc1..701ec99 100644
--- a/CMake/folly-config.h.cmake
+++ b/CMake/folly-config.h.cmake
@@ -16,6 +16,9 @@
#pragma once
+#cmakedefine01 FOLLY_HAS_LIBURING
+#cmakedefine01 FOLLY_HAS_LIBAIO
+
#ifdef __APPLE__
#include <TargetConditionals.h> // @manual
#endif
diff --git a/CMake/folly-deps.cmake b/CMake/folly-deps.cmake
index 1c41750..6ab485c 100644
--- a/CMake/folly-deps.cmake
+++ b/CMake/folly-deps.cmake
@@ -57,14 +57,17 @@ find_package(Boost 1.69.0 REQUIRED
# Per-target Boost dependencies are specified via EXTERNAL_DEPS
list(APPEND FOLLY_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIRS})
-find_package(DoubleConversion MODULE REQUIRED)
+find_package(double-conversion CONFIG REQUIRED)
+set(DOUBLE_CONVERSION_LIBRARY double-conversion::double-conversion)
list(APPEND FOLLY_LINK_LIBRARIES ${DOUBLE_CONVERSION_LIBRARY})
list(APPEND FOLLY_INCLUDE_DIRECTORIES ${DOUBLE_CONVERSION_INCLUDE_DIR})
-find_package(FastFloat MODULE REQUIRED)
-list(APPEND FOLLY_INCLUDE_DIRECTORIES ${FASTFLOAT_INCLUDE_DIR})
+find_package(FastFloat CONFIG REQUIRED)
+list(APPEND FOLLY_LINK_LIBRARIES FastFloat::fast_float)
-find_package(Gflags MODULE)
+set(GFLAGS_USE_TARGET_NAMESPACE ON)
+find_package(LIBGFLAGS NAMES gflags REQUIRED)
+set(LIBGFLAGS_LIBRARY gflags::gflags)
set(FOLLY_HAVE_LIBGFLAGS ${LIBGFLAGS_FOUND})
if(LIBGFLAGS_FOUND)
list(APPEND FOLLY_LINK_LIBRARIES ${LIBGFLAGS_LIBRARY})
@@ -73,7 +76,8 @@ if(LIBGFLAGS_FOUND)
set(FOLLY_LIBGFLAGS_INCLUDE ${LIBGFLAGS_INCLUDE_DIR})
endif()
-find_package(Glog MODULE)
+find_package(GLOG NAMES glog REQUIRED)
+set(GLOG_LIBRARY glog::glog)
set(FOLLY_HAVE_LIBGLOG ${GLOG_FOUND})
list(APPEND FOLLY_LINK_LIBRARIES glog::glog)
list(APPEND FOLLY_INCLUDE_DIRECTORIES ${GLOG_INCLUDE_DIR})
@@ -83,11 +87,16 @@ if (EXISTS "${GLOG_INCLUDE_DIR}/glog/export.h")
list(APPEND FOLLY_CXX_FLAGS -DGLOG_USE_GLOG_EXPORT)
endif()
-find_package(LibEvent MODULE REQUIRED)
+find_package(LIBEVENT NAMES Libevent REQUIRED)
+set(LIBEVENT_LIB libevent::core libevent::extra)
+if(NOT WIN32)
+ list(APPEND LIBEVENT_LIB libevent::pthreads)
+endif()
list(APPEND FOLLY_LINK_LIBRARIES ${LIBEVENT_LIB})
list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBEVENT_INCLUDE_DIR})
find_package(ZLIB MODULE)
+set(ZLIB_LIBRARIES ZLIB::ZLIB) # consistent with proxygen
set(FOLLY_HAVE_LIBZ ${ZLIB_FOUND})
if (ZLIB_FOUND)
list(APPEND FOLLY_INCLUDE_DIRECTORIES ${ZLIB_INCLUDE_DIRS})
@@ -120,21 +129,24 @@ if (LIBLZMA_FOUND)
list(APPEND FOLLY_LINK_LIBRARIES ${LIBLZMA_LIBRARIES})
endif()
-find_package(LZ4 MODULE)
+find_package(LZ4 NAMES lz4)
+set(LZ4_LIBRARY lz4::lz4)
set(FOLLY_HAVE_LIBLZ4 ${LZ4_FOUND})
if (LZ4_FOUND)
list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LZ4_INCLUDE_DIR})
list(APPEND FOLLY_LINK_LIBRARIES ${LZ4_LIBRARY})
endif()
-find_package(Zstd MODULE)
+find_package(ZSTD NAMES zstd)
+set(ZSTD_LIBRARY zstd::libzstd)
set(FOLLY_HAVE_LIBZSTD ${ZSTD_FOUND})
if(ZSTD_FOUND)
list(APPEND FOLLY_INCLUDE_DIRECTORIES ${ZSTD_INCLUDE_DIR})
list(APPEND FOLLY_LINK_LIBRARIES ${ZSTD_LIBRARY})
endif()
-find_package(Snappy MODULE)
+find_package(SNAPPY NAMES Snappy)
+set(SNAPPY_LIBRARY Snappy::snappy)
set(FOLLY_HAVE_LIBSNAPPY ${SNAPPY_FOUND})
if (SNAPPY_FOUND)
list(APPEND FOLLY_INCLUDE_DIRECTORIES ${SNAPPY_INCLUDE_DIR})
@@ -150,14 +162,19 @@ list(APPEND FOLLY_LINK_LIBRARIES ${LIBIBERTY_LIBRARIES})
list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBIBERTY_INCLUDE_DIRS})
find_package(LibAIO)
+set(FOLLY_HAS_LIBAIO ${VCPKG_LOCK_FIND_PACKAGE_LibAIO})
list(APPEND FOLLY_LINK_LIBRARIES ${LIBAIO_LIBRARIES})
list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBAIO_INCLUDE_DIRS})
find_package(LibUring)
+set(FOLLY_HAS_LIBURING ${VCPKG_LOCK_FIND_LibUring})
list(APPEND FOLLY_LINK_LIBRARIES ${LIBURING_LIBRARIES})
list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBURING_INCLUDE_DIRS})
-find_package(Libsodium)
+find_package(LIBSODIUM NAMES unofficial-sodium)
+if(LIBSODIUM_FOUND)
+ set(LIBSODIUM_LIBRARIES unofficial-sodium::sodium)
+endif()
list(APPEND FOLLY_LINK_LIBRARIES ${LIBSODIUM_LIBRARIES})
list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBSODIUM_INCLUDE_DIRS})
@@ -174,6 +191,8 @@ list(APPEND FOLLY_LINK_LIBRARIES ${LIBUNWIND_LIBRARIES})
list(APPEND FOLLY_INCLUDE_DIRECTORIES ${LIBUNWIND_INCLUDE_DIRS})
if (LIBUNWIND_FOUND)
set(FOLLY_HAVE_LIBUNWIND ON)
+ list(REMOVE_ITEM FOLLY_LINK_LIBRARIES ${LIBLZMA_LIBRARIES})
+ list(APPEND FOLLY_LINK_LIBRARIES ${LIBLZMA_LIBRARIES})
endif()
if (CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
list(APPEND FOLLY_LINK_LIBRARIES "execinfo")
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 49dd964..b84f338 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -273,7 +273,8 @@ folly_resolve_deferred_dependencies()
# This points to the SSL test certificates used by TestSSLServer and related tests
if(TARGET folly_testing_test_util)
target_compile_definitions(folly_testing_test_util INTERFACE
- FOLLY_CERTS_DIR="${FOLLY_DIR}/io/async/test/certs"
+ $<BUILD_INTERFACE:FOLLY_CERTS_DIR="${FOLLY_DIR}/io/async/test/certs">
+ $<INSTALL_INTERFACE:FOLLY_CERTS_DIR="share/folly/">
)
endif()
@@ -285,7 +286,8 @@ add_library(folly_test_util
${FOLLY_DIR}/json/JsonTestUtil.cpp
)
target_compile_definitions(folly_test_util PUBLIC
- FOLLY_CERTS_DIR="${FOLLY_DIR}/io/async/test/certs"
+ $<BUILD_INTERFACE:FOLLY_CERTS_DIR="${FOLLY_DIR}/io/async/test/certs">
+ $<INSTALL_INTERFACE:FOLLY_CERTS_DIR="share/folly">
)
set_property(TARGET folly_test_util PROPERTY VERSION ${PACKAGE_VERSION})
target_link_libraries(folly_test_util
diff --git a/folly/io/async/AsyncIO.cpp b/folly/io/async/AsyncIO.cpp
index 2760e0f..a51c16c 100644
--- a/folly/io/async/AsyncIO.cpp
+++ b/folly/io/async/AsyncIO.cpp
@@ -35,7 +35,7 @@
#include <sys/eventfd.h>
#endif
-#if __has_include(<libaio.h>)
+#if FOLLY_HAS_LIBAIO
// debugging helpers
namespace {
diff --git a/folly/io/async/AsyncIO.h b/folly/io/async/AsyncIO.h
index 36c6df2..02ff518 100644
--- a/folly/io/async/AsyncIO.h
+++ b/folly/io/async/AsyncIO.h
@@ -18,7 +18,7 @@
#include <folly/io/async/AsyncBase.h>
-#if __has_include(<libaio.h>)
+#if FOLLY_HAS_LIBAIO
#include <libaio.h>
diff --git a/folly/io/async/Liburing.h b/folly/io/async/Liburing.h
index 8e81aaa..c7f4a67 100644
--- a/folly/io/async/Liburing.h
+++ b/folly/io/async/Liburing.h
@@ -17,7 +17,5 @@
#pragma once
#if defined(__linux__) && __has_include(<liburing.h>)
-#define FOLLY_HAS_LIBURING 1
#else
-#define FOLLY_HAS_LIBURING 0
#endif
diff --git a/folly/io/async/SimpleAsyncIO.cpp b/folly/io/async/SimpleAsyncIO.cpp
index cceb964..9f97e36 100644
--- a/folly/io/async/SimpleAsyncIO.cpp
+++ b/folly/io/async/SimpleAsyncIO.cpp
@@ -25,7 +25,7 @@
namespace folly {
-#if __has_include(<libaio.h>)
+#if FOLLY_HAS_LIBAIO
static constexpr bool has_aio = true;
using aio_type = AsyncIO;
#else