diff --git a/wxdata/wxdata.cmake b/wxdata/wxdata.cmake index a30398a0..e56c30ea 100644 --- a/wxdata/wxdata.cmake +++ b/wxdata/wxdata.cmake @@ -2,6 +2,8 @@ cmake_minimum_required(VERSION 3.24) project(scwx-data) +include(CheckCXXSymbolExists) + find_package(Boost) find_package(cpr) find_package(LibXml2) @@ -10,6 +12,8 @@ find_package(range-v3) find_package(re2) find_package(spdlog) +check_cxx_symbol_exists(_LIBCPP_VERSION version LIBCPP) + if (NOT MSVC) find_package(TBB) endif() @@ -327,10 +331,15 @@ if (NOT CHRONO_HAS_TIMEZONES_AND_CALENDERS) target_link_libraries(wxdata PUBLIC date::date-tz) endif() -if (NOT MSVC) +if (LINUX) target_link_libraries(wxdata PUBLIC TBB::tbb) endif() +if (LIBCPP) + # Enable support for parallel algorithms + target_compile_options(wxdata PUBLIC -fexperimental-library) +endif() + set_target_properties(wxdata PROPERTIES CXX_STANDARD 20 CXX_STANDARD_REQUIRED ON CXX_EXTENSIONS OFF)