diff --git a/CMakeLists.txt b/CMakeLists.txt index b85bae3e1..c21a83c7b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -32,7 +32,12 @@ INCLUDE(check_compiler_flag) INCLUDE(ExternalProject) INCLUDE(CheckCXXSourceCompiles) -MY_CHECK_CXX_COMPILER_FLAG("-std=c++20") +FIND_PACKAGE(Boost 1.71.0 COMPONENTS chrono filesystem program_options regex system thread) + +IF (NOT Boost_FOUND OR Boost_VERSION VERSION_GREATER 1.76.99) + MY_CHECK_CXX_COMPILER_FLAG("-std=c++20") +ENDIF() + IF (have_CXX__std_c__20) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++20") ELSE() diff --git a/cmake/boost.cmake b/cmake/boost.cmake index 534e72110..66a26670c 100644 --- a/cmake/boost.cmake +++ b/cmake/boost.cmake @@ -1,3 +1,8 @@ +if (Boost_FOUND) + add_custom_target(external_boost) + return() +endif() + include(ExternalProject) if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")