diff --git a/CMakeLists.txt b/CMakeLists.txt index 1d8352f5f..ee7b1abd5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,10 +35,23 @@ function(boost_iostreams_option name description package version found target) # endfunction() + +set(BOOST_IOSTREAMS_ZSTD_TARGET_VALUES + "zstd::libzstd_shared" + "zstd::libzstd_static" +) + +set(BOOST_IOSTREAMS_TARGET_ZSTD "zstd::libzstd_shared" CACHE STRING "Target name for Zstd") + +# Error checking for BOOST_IOSTREAMS_TARGET_ZSTD +if(NOT BOOST_IOSTREAMS_TARGET_ZSTD IN_LIST BOOST_IOSTREAMS_ZSTD_TARGET_VALUES) + message(FATAL_ERROR "Invalid value for BOOST_IOSTREAMS_TARGET_ZSTD. Allowed values are: ${BOOST_IOSTREAMS_ZSTD_TARGET_VALUES}") +endif() + boost_iostreams_option(BOOST_IOSTREAMS_ENABLE_ZLIB "Boost.Iostreams: Enable ZLIB support" ZLIB "" ZLIB_FOUND ZLIB::ZLIB src/zlib.cpp src/gzip.cpp) boost_iostreams_option(BOOST_IOSTREAMS_ENABLE_BZIP2 "Boost.Iostreams: Enable BZip2 support" BZip2 "" BZIP2_FOUND BZip2::BZip2 src/bzip2.cpp) boost_iostreams_option(BOOST_IOSTREAMS_ENABLE_LZMA "Boost.Iostreams: Enable LZMA support" LibLZMA "" LIBLZMA_FOUND LibLZMA::LibLZMA src/lzma.cpp) -boost_iostreams_option(BOOST_IOSTREAMS_ENABLE_ZSTD "Boost.Iostreams: Enable Zstd support" zstd "1.0" zstd_FOUND zstd::libzstd_shared src/zstd.cpp) +boost_iostreams_option(BOOST_IOSTREAMS_ENABLE_ZSTD "Boost.Iostreams: Enable Zstd support" zstd "1.0" zstd_FOUND ${BOOST_IOSTREAMS_TARGET_ZSTD} src/zstd.cpp) include(CheckCXXSourceCompiles)