Procházet zdrojové kódy

Merge topic 'IntelLLVM-isystem-flag'

8218aed118 IntelLLVM: support marking include paths as SYSTEM directories

Acked-by: Kitware Robot <[email protected]>
Acked-by: scivision <[email protected]>
Merge-request: !8722
Brad King před 1 rokem
rodič
revize
c923b8a3e2

+ 6 - 0
Help/release/dev/IntelLLVM-isystem-flag.rst

@@ -0,0 +1,6 @@
+IntelLLVM-isystem-flag
+----------------------
+
+* The :generator:`Ninja` and :generator:`NMake Makefiles` generators now use
+  the ``-external:I`` flag for system includes when using IntelLLVM as of
+  version 2021.4. The ``-external:W0`` flag is also used as of version 2022.2.

+ 6 - 0
Modules/Compiler/IntelLLVM.cmake

@@ -36,6 +36,12 @@ if(CMAKE_HOST_WIN32)
     __compiler_intel_llvm_common(${lang})
     set(CMAKE_${lang}_COMPILE_OPTIONS_IPO "-Qipo")
     set(CMAKE_${lang}_LINK_OPTIONS_IPO "-Qipo")
+    if (CMAKE_${lang}_COMPILER_VERSION VERSION_GREATER_EQUAL "2021.4")
+      set(CMAKE_INCLUDE_SYSTEM_FLAG_${lang} "-external:I")
+      if (CMAKE_${lang}_COMPILER_VERSION VERSION_GREATER_EQUAL "2022.2")
+        set(_CMAKE_INCLUDE_SYSTEM_FLAG_${lang}_WARNING "-external:W0 ")
+      endif ()
+    endif ()
   endmacro()
 else()
   # GNU-like