diff --git a/CMakeLists.txt b/CMakeLists.txt index 6948010..0031fa8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,6 +37,19 @@ if(DEFINED MSVC) add_definitions(-D_USE_MATH_DEFINES) endif() +if((CMAKE_CXX_COMPILER_ID MATCHES "Clang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 17)) + include(CheckCXXSymbolExists) + if(cxx_std_20 IN_LIST CMAKE_CXX_COMPILE_FEATURES) + set(header version) + else() + set(header ciso646) + endif() + + check_cxx_symbol_exists(_LIBCPP_VERSION ${header} LIBCPP) + if(LIBCPP) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fexperimental-library") + endif() +endif() add_subdirectory(libtermbench) add_subdirectory(tb)