diff --git a/cmake/DetectOptions.cmake b/cmake/DetectOptions.cmake index 871ad0c42f..72f97ad6ae 100644 --- a/cmake/DetectOptions.cmake +++ b/cmake/DetectOptions.cmake @@ -68,12 +68,13 @@ function(lists_get_prefix listVars outVar) endfunction() # Blosc2 +option(ADIOS2_PREFER_SHARED_Blosc2 "prefer sharred Blosc2 libraries" ON) if(ADIOS2_USE_Blosc2 STREQUAL AUTO) - find_package(Blosc2 2.4) + find_package(Blosc2 2.4 CONFIG) elseif(ADIOS2_USE_Blosc2) - find_package(Blosc2 2.4 REQUIRED) + find_package(Blosc2 2.4 CONFIG REQUIRED) endif() -if(BLOSC2_FOUND) +if(Blosc2_FOUND) set(ADIOS2_HAVE_Blosc2 TRUE) endif() diff --git a/source/adios2/CMakeLists.txt b/source/adios2/CMakeLists.txt index f7f6643bf7..2f5ea7a77f 100644 --- a/source/adios2/CMakeLists.txt +++ b/source/adios2/CMakeLists.txt @@ -259,7 +259,11 @@ endif() if(ADIOS2_HAVE_Blosc2) target_sources(adios2_core PRIVATE operator/compress/CompressBlosc.cpp) - target_link_libraries(adios2_core PRIVATE Blosc2::Blosc2) + if(ADIOS2_PREFER_SHARED_Blosc2 AND TARGET Blosc2::blosc2_shared) + target_link_libraries(adios2_core PRIVATE Blosc2::blosc2_shared) + else() + target_link_libraries(adios2_core PRIVATE Blosc2::blosc2_static) + endif() endif() if(ADIOS2_HAVE_BZip2)