瀏覽代碼

Features: Record dialect flags for AppleClang 4.0+.

Stephen Kelly 11 年之前
父節點
當前提交
98965fb12d
共有 2 個文件被更改,包括 5 次插入2 次删除
  1. 1 1
      Modules/Compiler/AppleClang-C.cmake
  2. 4 1
      Modules/Compiler/AppleClang-CXX.cmake

+ 1 - 1
Modules/Compiler/AppleClang-C.cmake

@@ -1,7 +1,7 @@
 include(Compiler/Clang)
 __compiler_clang(C)
 
-if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 5.1)
+if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.0)
   set(CMAKE_C90_STANDARD_COMPILE_OPTION "-std=c90")
   set(CMAKE_C90_EXTENSION_COMPILE_OPTION "-std=gnu90")
 

+ 4 - 1
Modules/Compiler/AppleClang-CXX.cmake

@@ -5,13 +5,16 @@ if(NOT "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC")
   set(CMAKE_CXX_COMPILE_OPTIONS_VISIBILITY_INLINES_HIDDEN "-fvisibility-inlines-hidden")
 endif()
 
-if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.1)
+if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.0)
   set(CMAKE_CXX98_STANDARD_COMPILE_OPTION "-std=c++98")
   set(CMAKE_CXX98_EXTENSION_COMPILE_OPTION "-std=gnu++98")
 
   set(CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++11")
   set(CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=gnu++11")
+endif()
 
+if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.1)
+  # AppleClang 5.0 knows this flag, but does not set a __cplusplus macro greater than 201103L
   set(CMAKE_CXX14_STANDARD_COMPILE_OPTION "-std=c++1y")
   set(CMAKE_CXX14_EXTENSION_COMPILE_OPTION "-std=gnu++1y")
 endif()