cmake_policy(SET CMP0067 NEW) enable_language(CXX) # Add our own -std= flag to the try_compile check. set(CMAKE_REQUIRED_FLAGS -std=c++11) # Tell CMP0128 NEW behavior to append a -std= flag (after ours). if(CMAKE_CXX_EXTENSIONS_DEFAULT) set(CMAKE_CXX_EXTENSIONS OFF) else() set(CMAKE_CXX_EXTENSIONS ON) endif() include(CheckSourceCompiles) check_source_compiles(CXX " ${check_cxx_std} int main() { return 0; } " SRC_COMPILED) if(NOT SRC_COMPILED) message("Check failed to compile:") set(configure_log "${CMAKE_BINARY_DIR}/CMakeFiles/CMakeConfigureLog.yaml") if(EXISTS "${configure_log}") file(READ "${configure_log}" log_content) else() set(log_content "") endif() if(log_content MATCHES [[( - kind: "try_compile-v1"( + [^ ]+)+ checks: - "Performing Test SRC_COMPILED"( + [^ ]+)+)]]) message("${configure_log} contains:\n${CMAKE_MATCH_1}") endif() endif()