diff --git a/cmake/Modules/EvtGenCompilerFlags.cmake b/cmake/Modules/EvtGenCompilerFlags.cmake --- a/cmake/Modules/EvtGenCompilerFlags.cmake +++ b/cmake/Modules/EvtGenCompilerFlags.cmake @@ -64,11 +64,13 @@ # C++ standard settings set(CMAKE_CXX_EXTENSIONS OFF) +set(EVTGEN_CXX_STANDARD 17) if(DEFINED ENV{CMAKE_CXX_STANDARD}) - set(CMAKE_CXX_STANDARD $ENV{CMAKE_CXX_STANDARD} CACHE STRING "C++ standard") -else() - set(CMAKE_CXX_STANDARD 17 CACHE STRING "C++ standard") + if($ENV{CMAKE_CXX_STANDARD} GREATER ${EVTGEN_CXX_STANDARD}) + set(EVTGEN_CXX_STANDARD $ENV{CMAKE_CXX_STANDARD}) + endif() endif() +set(CMAKE_CXX_STANDARD ${EVTGEN_CXX_STANDARD} CACHE STRING "C++ standard") set(CMAKE_CXX_STANDARD_REQUIRED ON) message(STATUS "EvtGen: Using C++${CMAKE_CXX_STANDARD} standard")