diff options
author | Stephen Kelly <steveire@gmail.com> | 2014-03-28 15:09:35 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2014-05-07 10:17:49 (GMT) |
commit | 1df2116bfaa4c575404ae1eef225aed1530d668a (patch) | |
tree | 99a8fd5375d47f6359fd269c0d9e3ab030bc131e /Modules | |
parent | c4f4dac2d550f0a8a44530187eac2ad03191c981 (diff) | |
download | CMake-1df2116bfaa4c575404ae1eef225aed1530d668a.zip CMake-1df2116bfaa4c575404ae1eef225aed1530d668a.tar.gz CMake-1df2116bfaa4c575404ae1eef225aed1530d668a.tar.bz2 |
Features: Decay language flag if requested is not available.
Use the highest standard compile flags available if requested language
version is too new.
This supports use-cases like
set(CMAKE_CXX_STANDARD 14)
# Compiled with -std=c++11 with GNU 4.7, which has no -std=c++14
# or equivalent flag
add_executable(main main.cpp)
This can be used in combination with preprocessor defines which
communicate the availability of certain language features for
optional use.
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/Compiler/GNU-CXX.cmake | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/Modules/Compiler/GNU-CXX.cmake b/Modules/Compiler/GNU-CXX.cmake index 7464525..d324985 100644 --- a/Modules/Compiler/GNU-CXX.cmake +++ b/Modules/Compiler/GNU-CXX.cmake @@ -24,6 +24,8 @@ elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.3) set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++0x") endif() +set(CMAKE_CXX_STANDARD_DEFAULT 98) + macro(cmake_record_cxx_compile_features) macro(_get_gcc_features std_version list) record_compiler_features(CXX "-std=${std_version}" ${list}) |