diff --git a/CMakeLists.txt b/CMakeLists.txt index f60d2d7d..5803154a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -808,29 +808,25 @@ if(STATIC_BUILD_DO_NOT_USE) import_static_lib(static_libglog "libglog.a") import_static_lib(static_libdoubleconv "libdouble-conversion.a") import_static_lib(static_libgflags "libgflags.a") - import_static_lib(static_libevent "libevent.a") - import_static_lib(static_libacl "libacl.a") - import_static_lib(static_libxml2 "libxml2.a") import_static_lib(static_libcrypto "libcrypto.a") import_static_lib(static_libz "libz.a") import_static_lib(static_libpthread "libpthread.a") import_static_lib(static_libdl "libdl.a") import_static_lib(static_libm "libm.a") import_static_lib(static_librt "librt.a") - import_static_lib(static_libssl "libssl.a") import_static_lib(static_libunwind "libunwind.a") import_static_lib(static_libarchive "libarchive.a") - import_static_lib(static_libmagic "libmagic.a") import_static_lib(static_libflac "libFLAC++.a") set_target_properties(static_libunwind PROPERTIES INTERFACE_LINK_LIBRARIES "${LIBLZMA_LIBRARIES};static_libz") set_target_properties(static_libglog PROPERTIES INTERFACE_LINK_LIBRARIES static_libgflags) - set_target_properties(static_librt PROPERTIES INTERFACE_LINK_LIBRARIES - static_libgflags) - set_target_properties(static_libmagic PROPERTIES INTERFACE_LINK_LIBRARIES - static_libz) + if(LIBMAGIC_FOUND) + import_static_lib(static_libmagic "libmagic.a") + set_target_properties(static_libmagic PROPERTIES INTERFACE_LINK_LIBRARIES + static_libz) + endif() foreach(tgt ${BINARY_TARGETS} ${TEST_TARGETS}) # ................................................................... @@ -844,9 +840,6 @@ if(STATIC_BUILD_DO_NOT_USE) static_libglog static_libgflags static_libarchive - static_libevent - static_libacl - static_libssl static_libcrypto static_libpthread static_libdl diff --git a/cmake/folly.cmake b/cmake/folly.cmake index f1756668..46c63d44 100644 --- a/cmake/folly.cmake +++ b/cmake/folly.cmake @@ -55,6 +55,7 @@ set(CMAKE_DISABLE_FIND_PACKAGE_Snappy ON) set(CMAKE_DISABLE_FIND_PACKAGE_LibAIO ON) set(CMAKE_DISABLE_FIND_PACKAGE_LibUring ON) set(CMAKE_DISABLE_FIND_PACKAGE_Libsodium ON) +set(CMAKE_DISABLE_FIND_PACKAGE_LibDwarf ON) if(NOT PREFER_SYSTEM_FAST_FLOAT) set(FASTFLOAT_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/fast_float) @@ -74,6 +75,15 @@ if(NOT DWARFS_FMT_LIB) set_target_properties(folly_deps PROPERTIES INTERFACE_LINK_LIBRARIES "${FOLLY_DEPS_INTERFACE_LINK_LIBRARIES}") endif() +# remove dependencies that are not needed +get_target_property(_tmp_folly_deps folly_deps INTERFACE_LINK_LIBRARIES) +list(REMOVE_ITEM _tmp_folly_deps ${LIBEVENT_LIB} ${OPENSSL_LIBRARIES}) +list(REMOVE_ITEM _tmp_folly_deps Boost::context Boost::atomic Boost::regex Boost::system) +if(NOT WIN32) + list(REMOVE_ITEM _tmp_folly_deps Boost::thread) +endif() +set_target_properties(folly_deps PROPERTIES INTERFACE_LINK_LIBRARIES "${_tmp_folly_deps}") + add_library(dwarfs_folly_lite OBJECT ${CMAKE_CURRENT_SOURCE_DIR}/folly/folly/Conv.cpp ${CMAKE_CURRENT_SOURCE_DIR}/folly/folly/Demangle.cpp @@ -197,6 +207,8 @@ if(WITH_BENCHMARKS) set_property(TARGET dwarfs_follybenchmark_lite PROPERTY CXX_STANDARD 20) apply_folly_compile_options_to_target(dwarfs_follybenchmark_lite) target_link_libraries(dwarfs_follybenchmark_lite PUBLIC dwarfs_folly_lite) + find_package(Boost REQUIRED COMPONENTS regex) + target_link_libraries(dwarfs_follybenchmark_lite PUBLIC Boost::regex) endif() foreach(tgt dwarfs_folly_lite dwarfs_follybenchmark_lite)