Browse Source

Compilers: Add default cmake_record_{c,cxx}_compile_features macros

Add default implementations for the cmake_record_lang_compile_features
macros.  All implementations of this are the same so it can be safely
factored out to a common implementation.
Chuck Atkins 8 years ago
parent
commit
5bb7429166
1 changed files with 31 additions and 0 deletions
  1. 31 0
      Modules/Compiler/CMakeCommonCompilerMacros.cmake

+ 31 - 0
Modules/Compiler/CMakeCommonCompilerMacros.cmake

@@ -60,3 +60,34 @@ macro(__compiler_check_default_language_standard lang stdver1 std1)
   endif ()
   unset(__std_ver_pairs)
 endmacro()
+
+# Define to allow compile features to be automatically determined
+macro(cmake_record_c_compile_features)
+  set(_result 0)
+  if(_result EQUAL 0 AND DEFINED CMAKE_C11_STANDARD_COMPILE_OPTION)
+    _record_compiler_features_c(11)
+  endif()
+  if(_result EQUAL 0 AND DEFINED CMAKE_C99_STANDARD_COMPILE_OPTION)
+    _record_compiler_features_c(99)
+  endif()
+  if(_result EQUAL 0 AND DEFINED CMAKE_C90_STANDARD_COMPILE_OPTION)
+    _record_compiler_features_c(90)
+  endif()
+endmacro()
+
+# Define to allow compile features to be automatically determined
+macro(cmake_record_cxx_compile_features)
+  set(_result 0)
+  if(_result EQUAL 0 AND DEFINED CMAKE_CXX17_STANDARD_COMPILE_OPTION)
+    _record_compiler_features_cxx(17)
+  endif()
+  if(_result EQUAL 0 AND DEFINED CMAKE_CXX14_STANDARD_COMPILE_OPTION)
+    _record_compiler_features_cxx(14)
+  endif()
+  if(_result EQUAL 0 AND DEFINED CMAKE_CXX11_STANDARD_COMPILE_OPTION)
+    _record_compiler_features_cxx(11)
+  endif()
+  if(_result EQUAL 0 AND DEFINED CMAKE_CXX98_STANDARD_COMPILE_OPTION)
+    _record_compiler_features_cxx(98)
+  endif()
+endmacro()