You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
912 B
41 lines
912 B
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()
|