From ae88ef182324f79738bee5519387fe13ae7b25b2 Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Thu, 10 Nov 2022 00:22:15 +0100 Subject: [PATCH] use system boost, if possible boost 1.71.0 is what ubuntu focal has, so let's start with that version. boost 1.77.0 is the first that supports c++20 --- CMakeLists.txt | 7 ++++++- cmake/boost.cmake | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) 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")