From 4952f03d150770ff06f9a12ff42d8de680407649 Mon Sep 17 00:00:00 2001 From: Yi Zhao Date: Tue, 19 Mar 2024 19:39:04 +0800 Subject: [PATCH] Do not use bundled packages Use external dependencies for openssl, curl, bzip2, zlib, libarchive, xz, yaml-cpp and libxml2. Upstream-Status: Inappropriate [embedded specific] Signed-off-by: Yi Zhao --- CMakeLists.txt | 3 +-- cmake/GetBZip2.cmake | 3 +++ cmake/GetCatch2.cmake | 4 ++++ cmake/GetCivetWeb.cmake | 3 +++ cmake/GetFmt.cmake | 3 +++ cmake/GetLibCURL.cmake | 3 +++ cmake/GetLibXml2.cmake | 3 +++ cmake/GetOpenSSL.cmake | 3 +++ cmake/GetRocksDB.cmake | 4 ++++ cmake/GetSpdlog.cmake | 4 ++++ cmake/GetZLIB.cmake | 3 +++ cmake/GetZstd.cmake | 4 ++++ extensions/libarchive/CMakeLists.txt | 6 ++---- 13 files changed, 40 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 50e31d871..fc1718dfd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -265,8 +265,7 @@ include(GetSpdlog) get_spdlog() # yaml-cpp -include(BundledYamlCpp) -use_bundled_yamlcpp(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) +find_package(yaml-cpp REQUIRED) # concurrentqueue add_library(concurrentqueue INTERFACE) diff --git a/cmake/GetBZip2.cmake b/cmake/GetBZip2.cmake index 2a7d47e9e..754122895 100644 --- a/cmake/GetBZip2.cmake +++ b/cmake/GetBZip2.cmake @@ -23,5 +23,8 @@ function(get_bzip2 SOURCE_DIR BINARY_DIR) message("Using CMake to build bzip2 from source") include(BundledBZip2) use_bundled_bzip2(${SOURCE_DIR} ${BINARY_DIR}) + elseif(MINIFI_BZIP2_SOURCE STREQUAL "SYSTEM") + message("Using bzip2 provided by system") + find_package(BZip2 REQUIRED) endif() endfunction(get_bzip2) diff --git a/cmake/GetCatch2.cmake b/cmake/GetCatch2.cmake index d6c1d6acc..ec11b0a77 100644 --- a/cmake/GetCatch2.cmake +++ b/cmake/GetCatch2.cmake @@ -23,5 +23,9 @@ function(get_catch2) elseif(MINIFI_CATCH2_SOURCE STREQUAL "BUILD") message("Using CMake to build Catch2 from source") include(Catch2) + elseif(MINIFI_CATCH2_SOURCE STREQUAL "SYSTEM") + message("Using Catch2 provided by system") + find_package(Catch2 REQUIRED) + add_library(Catch2WithMain ALIAS Catch2::Catch2WithMain) endif() endfunction(get_catch2) diff --git a/cmake/GetCivetWeb.cmake b/cmake/GetCivetWeb.cmake index f30d22289..8fc39a0e2 100644 --- a/cmake/GetCivetWeb.cmake +++ b/cmake/GetCivetWeb.cmake @@ -22,5 +22,8 @@ function(get_civetweb) elseif(MINIFI_CIVETWEB_SOURCE STREQUAL "BUILD") message("Using CMake to build CivetWeb from source") include(CivetWeb) + elseif(MINIFI_CIVETWEB_SOURCE STREQUAL "SYSTEM") + message("Using CivetWeb provided by system") + find_package(civetweb REQUIRED) endif() endfunction(get_civetweb) diff --git a/cmake/GetFmt.cmake b/cmake/GetFmt.cmake index f4f28458d..579a63897 100644 --- a/cmake/GetFmt.cmake +++ b/cmake/GetFmt.cmake @@ -22,5 +22,8 @@ function(get_fmt) elseif(MINIFI_FMT_SOURCE STREQUAL "BUILD") message("Using CMake to build Fmt from source") include(fmt) + elseif(MINIFI_FMT_SOURCE STREQUAL "SYSTEM") + message("Using Fmt provided by system") + find_package(fmt REQUIRED) endif() endfunction(get_fmt) diff --git a/cmake/GetLibCURL.cmake b/cmake/GetLibCURL.cmake index afd38f3c9..0eac59ec4 100644 --- a/cmake/GetLibCURL.cmake +++ b/cmake/GetLibCURL.cmake @@ -23,5 +23,8 @@ function(get_curl SOURCE_DIR BINARY_DIR) message("Using CMake to build libcurl from source") include(BundledLibcURL) use_bundled_curl(${SOURCE_DIR} ${BINARY_DIR}) + elseif(MINIFI_LIBCURL_SOURCE STREQUAL "SYSTEM") + message("Using libcurl provided by system") + find_package(CURL REQUIRED) endif() endfunction(get_curl SOURCE_DIR BINARY_DIR) diff --git a/cmake/GetLibXml2.cmake b/cmake/GetLibXml2.cmake index 5915b117d..18048715d 100644 --- a/cmake/GetLibXml2.cmake +++ b/cmake/GetLibXml2.cmake @@ -23,5 +23,8 @@ function(get_libxml2 SOURCE_DIR BINARY_DIR) message("Using CMake to build libxml2 from source") include(BundledLibXml2) use_bundled_libxml2(${SOURCE_DIR} ${BINARY_DIR}) + elseif(MINIFI_LIBXML2_SOURCE STREQUAL "SYSTEM") + message("Using libxml2 provided by system") + find_package(libxml2 REQUIRED) endif() endfunction(get_libxml2) diff --git a/cmake/GetOpenSSL.cmake b/cmake/GetOpenSSL.cmake index 58132c6bf..2b142f94e 100644 --- a/cmake/GetOpenSSL.cmake +++ b/cmake/GetOpenSSL.cmake @@ -23,5 +23,8 @@ function(get_openssl SOURCE_DIR BINARY_DIR) message("Using CMake to build OpenSSL from source") include(BundledOpenSSL) use_openssl(${SOURCE_DIR} ${BINARY_DIR}) + elseif(MINIFI_OPENSSL_SOURCE STREQUAL "SYSTEM") + message("Using OpenSSL provided by system") + find_package(OpenSSL REQUIRED) endif() endfunction(get_openssl) diff --git a/cmake/GetRocksDB.cmake b/cmake/GetRocksDB.cmake index 0968afc38..3ca1fe565 100644 --- a/cmake/GetRocksDB.cmake +++ b/cmake/GetRocksDB.cmake @@ -30,5 +30,9 @@ function(get_rocksdb SOURCE_DIR BINARY_DIR) list(APPEND CMAKE_MODULE_PATH "${SOURCE_DIR}/cmake/rocksdb/sys") find_package(RocksDB REQUIRED) endif() + elseif(MINIFI_ROCKSDB_SOURCE STREQUAL "SYSTEM") + message("Using RocksDB provided by system") + list(APPEND CMAKE_MODULE_PATH "${SOURCE_DIR}/cmake/rocksdb/sys") + find_package(RocksDB REQUIRED) endif() endfunction(get_rocksdb SOURCE_DIR BINARY_DIR) diff --git a/cmake/GetSpdlog.cmake b/cmake/GetSpdlog.cmake index 747894984..6255e31bf 100644 --- a/cmake/GetSpdlog.cmake +++ b/cmake/GetSpdlog.cmake @@ -27,5 +27,9 @@ function(get_spdlog) elseif(MINIFI_SPDLOG_SOURCE STREQUAL "BUILD") message("Using CMake to build spdlog from source") include(Spdlog) + elseif(MINIFI_SPDLOG_SOURCE STREQUAL "SYSTEM") + message("Using spdlog provided by system") + find_package(spdlog REQUIRED) + add_library(spdlog ALIAS spdlog::spdlog) endif() endfunction(get_spdlog) diff --git a/cmake/GetZLIB.cmake b/cmake/GetZLIB.cmake index 6e7bea1e3..c15e2246a 100644 --- a/cmake/GetZLIB.cmake +++ b/cmake/GetZLIB.cmake @@ -23,5 +23,8 @@ function(get_zlib SOURCE_DIR BINARY_DIR) message("Using CMake to build zlib from source") include(BundledZLIB) use_bundled_zlib(${SOURCE_DIR} ${BINARY_DIR}) + elseif(MINIFI_ZLIB_SOURCE STREQUAL "SYSTEM") + message("Using zlib provided by system") + find_package(ZLIB REQUIRED) endif() endfunction(get_zlib) diff --git a/cmake/GetZstd.cmake b/cmake/GetZstd.cmake index a0334b02d..0e7600c22 100644 --- a/cmake/GetZstd.cmake +++ b/cmake/GetZstd.cmake @@ -23,5 +23,9 @@ function(get_zstd) elseif(MINIFI_ZSTD_SOURCE STREQUAL "BUILD") message("Using CMake to build zstd from source") include(Zstd) + elseif(MINIFI_ZSTD_SOURCE STREQUAL "SYSTEM") + message("Using zstd provided by system") + find_package(zstd REQUIRED) + add_library(zstd::zstd ALIAS zstd::libzstd_static) endif() endfunction(get_zstd) diff --git a/extensions/libarchive/CMakeLists.txt b/extensions/libarchive/CMakeLists.txt index bf7b2a7f5..eb6b71091 100644 --- a/extensions/libarchive/CMakeLists.txt +++ b/extensions/libarchive/CMakeLists.txt @@ -22,12 +22,10 @@ if (NOT ENABLE_LIBARCHIVE) endif() if (ENABLE_LZMA) - include(LibLZMA) - list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/liblzma/dummy") + find_package(LibLZMA REQUIRED) endif() -include(BundledLibArchive) -use_bundled_libarchive(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR}) +find_package(LibArchive REQUIRED) include(${CMAKE_SOURCE_DIR}/extensions/ExtensionHeader.txt) -- 2.34.1