diff options
author | Stephen Kelly <steveire@gmail.com> | 2014-05-05 22:21:14 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2014-05-22 16:01:23 (GMT) |
commit | dd043c3f21fbfab17d7f400bd2bc9f927215b18e (patch) | |
tree | 73f942d1294819f457309e1ccb507a057901a180 /Modules/Compiler/GNU-CXX.cmake | |
parent | 3ea9bde8450a28b58730230e9e73e4b8d439f701 (diff) | |
download | CMake-dd043c3f21fbfab17d7f400bd2bc9f927215b18e.zip CMake-dd043c3f21fbfab17d7f400bd2bc9f927215b18e.tar.gz CMake-dd043c3f21fbfab17d7f400bd2bc9f927215b18e.tar.bz2 |
Features: Add support for C++14 features.
Record the features implemented by GNU 4.9 and Clang 3.4.
Diffstat (limited to 'Modules/Compiler/GNU-CXX.cmake')
-rw-r--r-- | Modules/Compiler/GNU-CXX.cmake | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/Modules/Compiler/GNU-CXX.cmake b/Modules/Compiler/GNU-CXX.cmake index 1ecdad2..14dc76a 100644 --- a/Modules/Compiler/GNU-CXX.cmake +++ b/Modules/Compiler/GNU-CXX.cmake @@ -24,6 +24,11 @@ elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.3) set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++0x") endif() +if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.8) + set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++1y") + set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std=gnu++1y") +endif() + set(CMAKE_CXX_STANDARD_DEFAULT 98) macro(cmake_record_cxx_compile_features) @@ -31,8 +36,14 @@ macro(cmake_record_cxx_compile_features) record_compiler_features(CXX "-std=${std_version}" ${list}) endmacro() + set(_result 0) + if (UNIX AND NOT APPLE AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.8) + _get_gcc_features(c++1y CMAKE_CXX14_COMPILE_FEATURES) + endif() if (UNIX AND NOT APPLE AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.7) - _get_gcc_features(c++11 CMAKE_CXX11_COMPILE_FEATURES) + if (_result EQUAL 0) + _get_gcc_features(c++11 CMAKE_CXX11_COMPILE_FEATURES) + endif() if (_result EQUAL 0) _get_gcc_features(c++98 CMAKE_CXX98_COMPILE_FEATURES) endif() |