Преглед изворни кода

Merge topic 'vs12-parallel-cl-FS'

216afc8 MSVC: Add /FS flag for cl >= 18 to allow parallel compilation (#14492)
Brad King пре 12 година
родитељ
комит
8fa1ceb136

+ 3 - 0
Modules/Platform/Windows-MSVC-C.cmake

@@ -1,2 +1,5 @@
 include(Platform/Windows-MSVC)
+if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 18.0)
+  set(_FS_C " /FS")
+endif()
 __windows_compiler_msvc(C)

+ 3 - 0
Modules/Platform/Windows-MSVC-CXX.cmake

@@ -1,3 +1,6 @@
 include(Platform/Windows-MSVC)
 set(_COMPILE_CXX " /TP")
+if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 18.0)
+  set(_FS_CXX " /FS")
+endif()
 __windows_compiler_msvc(CXX)

+ 1 - 1
Modules/Platform/Windows-MSVC.cmake

@@ -241,7 +241,7 @@ macro(__windows_compiler_msvc lang)
   set(CMAKE_${lang}_CREATE_STATIC_LIBRARY  "<CMAKE_LINKER> /lib ${CMAKE_CL_NOLOGO} <LINK_FLAGS> /out:<TARGET> <OBJECTS> ")
 
   set(CMAKE_${lang}_COMPILE_OBJECT
-    "<CMAKE_${lang}_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO}${_COMPILE_${lang}} <FLAGS> <DEFINES> /Fo<OBJECT> /Fd<OBJECT_DIR>/ -c <SOURCE>${CMAKE_END_TEMP_FILE}")
+    "<CMAKE_${lang}_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO}${_COMPILE_${lang}} <FLAGS> <DEFINES> /Fo<OBJECT> /Fd<OBJECT_DIR>/${_FS_${lang}} -c <SOURCE>${CMAKE_END_TEMP_FILE}")
   set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE
     "<CMAKE_${lang}_COMPILER> > <PREPROCESSED_SOURCE> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO}${_COMPILE_${lang}} <FLAGS> <DEFINES> -E <SOURCE>${CMAKE_END_TEMP_FILE}")
   set(CMAKE_${lang}_CREATE_ASSEMBLY_SOURCE