From 6e1a211973b321041765be405a8f7f0ecf4fa8f1 Mon Sep 17 00:00:00 2001 From: Roberto Rossini <71787608+robomics@users.noreply.github.com> Date: Sun, 11 Feb 2024 19:38:55 +0100 Subject: [PATCH 1/3] Add missing calls to find_dependency --- cmake/hictkConfig.cmake.in | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/cmake/hictkConfig.cmake.in b/cmake/hictkConfig.cmake.in index 0088c9fa..ab76f0e1 100644 --- a/cmake/hictkConfig.cmake.in +++ b/cmake/hictkConfig.cmake.in @@ -7,6 +7,18 @@ set(HICTK_WITH_EIGEN @HICTK_WITH_EIGEN@) include(CMakeFindDependencyMacro) + +find_dependency( + bshoshany-thread-pool + CONFIG + QUIET + REQUIRED) +find_dependency( + concurrentqueue + CONFIG + QUIET + REQUIRED) + if(HICTK_WITH_EIGEN) find_dependency( Eigen3 @@ -47,11 +59,26 @@ find_dependency( CONFIG QUIET REQUIRED) +find_dependency( + readerwriterqueue + CONFIG + QUIET + REQUIRED) +find_dependency( + span-lite + CONFIG + QUIET + REQUIRED) find_dependency( spdlog CONFIG QUIET REQUIRED) +find_dependency( + zstd + CONFIG + QUIET + REQUIRED) include("${CMAKE_CURRENT_LIST_DIR}/hictkTargets.cmake") From c01125160ffbbe83e65bb11e6d4bee0b9fc23433 Mon Sep 17 00:00:00 2001 From: Roberto Rossini <71787608+robomics@users.noreply.github.com> Date: Sun, 11 Feb 2024 20:34:14 +0100 Subject: [PATCH 2/3] Introduce HICTK_PREFER_STATIC_LINKING build knob --- CMakeLists.txt | 1 + src/libhictk/balancing/CMakeLists.txt | 16 ++++++++++++++-- src/libhictk/common/CMakeLists.txt | 23 ++++++++++++++++++++--- src/libhictk/hic/CMakeLists.txt | 19 +++++++++++++++++++ 4 files changed, 54 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a725f897..095f7979 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -136,6 +136,7 @@ option(HICTK_BUILD_EXAMPLES "Build examples" OFF) option(HICTK_BUILD_BENCHMARKS "Build benchmarks" OFF) option(HICTK_WITH_EIGEN "Build with Eigen3 support" ON) option(HICTK_BUILD_TOOLS "Build cli tools" ON) +option(HICTK_PREFER_STATIC_LINKING "Prefer linking to static libraries" OFF) if(HICTK_WITH_EIGEN) target_compile_definitions(hictk_project_options INTERFACE HICTK_WITH_EIGEN) diff --git a/src/libhictk/balancing/CMakeLists.txt b/src/libhictk/balancing/CMakeLists.txt index be14535b..f80e4317 100644 --- a/src/libhictk/balancing/CMakeLists.txt +++ b/src/libhictk/balancing/CMakeLists.txt @@ -26,7 +26,19 @@ target_link_system_libraries( INTERFACE bshoshany-thread-pool::bshoshany-thread-pool nonstd::span-lite - phmap - "zstd::libzstd_$,shared,static>") + phmap) + +if(BUILD_SHARED_LIBS AND HICTK_PREFER_STATIC_LINKING) + if(TARGET zstd::libzstd_static) + target_link_system_libraries(balancing INTERFACE zstd::libzstd_static) + else() + target_link_system_libraries(balancing INTERFACE zstd::libzstd_shared) + endif() +else() + target_link_system_libraries( + balancing + INTERFACE + "zstd::libzstd_$,shared,static>") +endif() target_compile_definitions(balancing INTERFACE span_FEATURE_MAKE_SPAN=1) diff --git a/src/libhictk/common/CMakeLists.txt b/src/libhictk/common/CMakeLists.txt index 8d3393c2..254024fb 100644 --- a/src/libhictk/common/CMakeLists.txt +++ b/src/libhictk/common/CMakeLists.txt @@ -19,6 +19,23 @@ target_sources( target_include_directories(common INTERFACE "$" "$") -target_link_libraries( - common INTERFACE fmt::fmt-header-only "libdeflate::libdeflate_$,shared,static>" - "zstd::libzstd_$,shared,static>") +target_link_system_libraries(common INTERFACE fmt::fmt-header-only) + +if(BUILD_SHARED_LIBS AND HICTK_PREFER_STATIC_LINKING) + if(TARGET libdeflate::libdeflate_static) + target_link_system_libraries(common INTERFACE libdeflate::libdeflate_static) + else() + target_link_system_libraries(common INTERFACE libdeflate::libdeflate_shared) + endif() + if(TARGET zstd::libzstd_static) + target_link_system_libraries(common INTERFACE zstd::libzstd_static) + else() + target_link_system_libraries(common INTERFACE zstd::libzstd_shared) + endif() +else() + target_link_system_libraries( + common + INTERFACE + "libdeflate::libdeflate_$,shared,static>" + "zstd::libzstd_$,shared,static>") +endif() diff --git a/src/libhictk/hic/CMakeLists.txt b/src/libhictk/hic/CMakeLists.txt index 9a925512..3f56bc41 100644 --- a/src/libhictk/hic/CMakeLists.txt +++ b/src/libhictk/hic/CMakeLists.txt @@ -45,3 +45,22 @@ target_link_system_libraries( phmap readerwriterqueue::readerwriterqueue "zstd::libzstd_$,shared,static>") + +if(BUILD_SHARED_LIBS AND HICTK_PREFER_STATIC_LINKING) + if(TARGET libdeflate::libdeflate_static) + target_link_system_libraries(hic INTERFACE libdeflate::libdeflate_static) + else() + target_link_system_libraries(hic INTERFACE libdeflate::libdeflate_shared) + endif() + if(TARGET zstd::libzstd_static) + target_link_system_libraries(hic INTERFACE zstd::libzstd_static) + else() + target_link_system_libraries(hic INTERFACE zstd::libzstd_shared) + endif() +else() + target_link_system_libraries( + hic + INTERFACE + "libdeflate::libdeflate_$,shared,static>" + "zstd::libzstd_$,shared,static>") +endif() From 71fdb94d0ac03e76383bf50871b7d30bfba9a7d4 Mon Sep 17 00:00:00 2001 From: Roberto Rossini <71787608+robomics@users.noreply.github.com> Date: Sun, 11 Feb 2024 20:36:50 +0100 Subject: [PATCH 3/3] Revert "Introduce HICTK_PREFER_STATIC_LINKING build knob" This reverts commit c01125160ffbbe83e65bb11e6d4bee0b9fc23433. --- CMakeLists.txt | 1 - src/libhictk/balancing/CMakeLists.txt | 16 ++-------------- src/libhictk/common/CMakeLists.txt | 23 +++-------------------- src/libhictk/hic/CMakeLists.txt | 19 ------------------- 4 files changed, 5 insertions(+), 54 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 095f7979..a725f897 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -136,7 +136,6 @@ option(HICTK_BUILD_EXAMPLES "Build examples" OFF) option(HICTK_BUILD_BENCHMARKS "Build benchmarks" OFF) option(HICTK_WITH_EIGEN "Build with Eigen3 support" ON) option(HICTK_BUILD_TOOLS "Build cli tools" ON) -option(HICTK_PREFER_STATIC_LINKING "Prefer linking to static libraries" OFF) if(HICTK_WITH_EIGEN) target_compile_definitions(hictk_project_options INTERFACE HICTK_WITH_EIGEN) diff --git a/src/libhictk/balancing/CMakeLists.txt b/src/libhictk/balancing/CMakeLists.txt index f80e4317..be14535b 100644 --- a/src/libhictk/balancing/CMakeLists.txt +++ b/src/libhictk/balancing/CMakeLists.txt @@ -26,19 +26,7 @@ target_link_system_libraries( INTERFACE bshoshany-thread-pool::bshoshany-thread-pool nonstd::span-lite - phmap) - -if(BUILD_SHARED_LIBS AND HICTK_PREFER_STATIC_LINKING) - if(TARGET zstd::libzstd_static) - target_link_system_libraries(balancing INTERFACE zstd::libzstd_static) - else() - target_link_system_libraries(balancing INTERFACE zstd::libzstd_shared) - endif() -else() - target_link_system_libraries( - balancing - INTERFACE - "zstd::libzstd_$,shared,static>") -endif() + phmap + "zstd::libzstd_$,shared,static>") target_compile_definitions(balancing INTERFACE span_FEATURE_MAKE_SPAN=1) diff --git a/src/libhictk/common/CMakeLists.txt b/src/libhictk/common/CMakeLists.txt index 254024fb..8d3393c2 100644 --- a/src/libhictk/common/CMakeLists.txt +++ b/src/libhictk/common/CMakeLists.txt @@ -19,23 +19,6 @@ target_sources( target_include_directories(common INTERFACE "$" "$") -target_link_system_libraries(common INTERFACE fmt::fmt-header-only) - -if(BUILD_SHARED_LIBS AND HICTK_PREFER_STATIC_LINKING) - if(TARGET libdeflate::libdeflate_static) - target_link_system_libraries(common INTERFACE libdeflate::libdeflate_static) - else() - target_link_system_libraries(common INTERFACE libdeflate::libdeflate_shared) - endif() - if(TARGET zstd::libzstd_static) - target_link_system_libraries(common INTERFACE zstd::libzstd_static) - else() - target_link_system_libraries(common INTERFACE zstd::libzstd_shared) - endif() -else() - target_link_system_libraries( - common - INTERFACE - "libdeflate::libdeflate_$,shared,static>" - "zstd::libzstd_$,shared,static>") -endif() +target_link_libraries( + common INTERFACE fmt::fmt-header-only "libdeflate::libdeflate_$,shared,static>" + "zstd::libzstd_$,shared,static>") diff --git a/src/libhictk/hic/CMakeLists.txt b/src/libhictk/hic/CMakeLists.txt index 3f56bc41..9a925512 100644 --- a/src/libhictk/hic/CMakeLists.txt +++ b/src/libhictk/hic/CMakeLists.txt @@ -45,22 +45,3 @@ target_link_system_libraries( phmap readerwriterqueue::readerwriterqueue "zstd::libzstd_$,shared,static>") - -if(BUILD_SHARED_LIBS AND HICTK_PREFER_STATIC_LINKING) - if(TARGET libdeflate::libdeflate_static) - target_link_system_libraries(hic INTERFACE libdeflate::libdeflate_static) - else() - target_link_system_libraries(hic INTERFACE libdeflate::libdeflate_shared) - endif() - if(TARGET zstd::libzstd_static) - target_link_system_libraries(hic INTERFACE zstd::libzstd_static) - else() - target_link_system_libraries(hic INTERFACE zstd::libzstd_shared) - endif() -else() - target_link_system_libraries( - hic - INTERFACE - "libdeflate::libdeflate_$,shared,static>" - "zstd::libzstd_$,shared,static>") -endif()