[Cmake-commits] CMake branch, next, updated. v2.8.12-4138-g1b6c7f3

Brad King brad.king at kitware.com
Fri Oct 18 10:32:39 EDT 2013


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  1b6c7f365cd5b02ecab160cbc0c009d1a1e8db19 (commit)
       via  216afc8a818c4f8906b17aefedbc9b9ed60564a8 (commit)
      from  9c2c08f7bdbf6808c00f27b81014aa0b5b6bacb7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1b6c7f365cd5b02ecab160cbc0c009d1a1e8db19
commit 1b6c7f365cd5b02ecab160cbc0c009d1a1e8db19
Merge: 9c2c08f 216afc8
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri Oct 18 10:32:27 2013 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Fri Oct 18 10:32:27 2013 -0400

    Merge topic 'vs12-parallel-cl-FS' into next
    
    216afc8 MSVC: Add /FS flag for cl >= 18 to allow parallel compilation (#14492)


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=216afc8a818c4f8906b17aefedbc9b9ed60564a8
commit 216afc8a818c4f8906b17aefedbc9b9ed60564a8
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri Oct 18 10:22:57 2013 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Fri Oct 18 10:28:28 2013 -0400

    MSVC: Add /FS flag for cl >= 18 to allow parallel compilation (#14492)
    
    In generators such as Ninja that can run multiple "cl" processes that
    refer to the same compiler .pdb file (/Fd) at the same time, MSVC from
    Visual Studio 2013 complains:
    
     fatal error C1041: cannot open program database '.../vc120.pdb';
     if multiple CL.EXE write to the same .PDB file, please use /FS
    
    According to "cl /?":
    
     /FS force to use MSPDBSRV.EXE
    
    Add the flag to compilation lines for this compiler version just after the
    /Fd option.

diff --git a/Modules/Platform/Windows-MSVC-C.cmake b/Modules/Platform/Windows-MSVC-C.cmake
index e81df9f..cbe1586 100644
--- a/Modules/Platform/Windows-MSVC-C.cmake
+++ b/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)
diff --git a/Modules/Platform/Windows-MSVC-CXX.cmake b/Modules/Platform/Windows-MSVC-CXX.cmake
index fdd1dae..0e85005 100644
--- a/Modules/Platform/Windows-MSVC-CXX.cmake
+++ b/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)
diff --git a/Modules/Platform/Windows-MSVC.cmake b/Modules/Platform/Windows-MSVC.cmake
index 7036ba0..6e02e4a 100644
--- a/Modules/Platform/Windows-MSVC.cmake
+++ b/Modules/Platform/Windows-MSVC.cmake
@@ -232,7 +232,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

-----------------------------------------------------------------------

Summary of changes:
 Modules/Platform/Windows-MSVC-C.cmake   |    3 +++
 Modules/Platform/Windows-MSVC-CXX.cmake |    3 +++
 Modules/Platform/Windows-MSVC.cmake     |    2 +-
 3 files changed, 7 insertions(+), 1 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list