[Cmake-commits] CMake branch, next, updated. v3.3.0-rc2-519-g85615c0

Brad King brad.king at kitware.com
Thu Jun 18 16:34:34 EDT 2015


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  85615c055a275edbab3c8dfb53f563003ea21841 (commit)
       via  078b60f05c9750b79e0efb322fafeddd8450f6c0 (commit)
      from  95423594649a7df0fe254c44379b48c32e0183f6 (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=85615c055a275edbab3c8dfb53f563003ea21841
commit 85615c055a275edbab3c8dfb53f563003ea21841
Merge: 9542359 078b60f
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Jun 18 16:34:34 2015 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Thu Jun 18 16:34:34 2015 -0400

    Merge topic 'Embarcadero-ninja-link-pool' into next
    
    078b60f0 Embarcadero: Run at most one linker invocation at a time (#15620)


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=078b60f05c9750b79e0efb322fafeddd8450f6c0
commit 078b60f05c9750b79e0efb322fafeddd8450f6c0
Author:     James Johnston <JamesJ at motionview3d.com>
AuthorDate: Thu Jun 18 17:17:38 2015 +0000
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Thu Jun 18 16:29:43 2015 -0400

    Embarcadero: Run at most one linker invocation at a time (#15620)
    
    At least some versions (e.g. C++ Builder 5) of the bcc32 linker are known to
    write temporary files with a constant name to the current directory (e.g.
    "turboc.$ln").  (This can be verified by using Process Monitor to watch the
    file writes that bcc32 / ilink32 / implib make).  This causes problems with
    some generators that keep a constant current directory and run concurrent
    linkers.
    
    For example, the Ninja generator, by default, always has the current directory
    set to the top of the build tree - resulting in conflicts between the linkers
    that are simultaneously trying to write to "turboc.$ln".  Symptoms include
    direct errors regarding the "turboc.$ln" file, or later build steps failing due
    to corrupted output from previous links that happened to link "successfully."
    
    This is not a problem for the Borland Makefiles generator which does not
    run jobs in parallel.  For the Ninja generator, work around this problem
    by using a link job pool of size 1.

diff --git a/Modules/Platform/Windows-Embarcadero.cmake b/Modules/Platform/Windows-Embarcadero.cmake
index 26b3c0c..58ef3ca 100644
--- a/Modules/Platform/Windows-Embarcadero.cmake
+++ b/Modules/Platform/Windows-Embarcadero.cmake
@@ -74,6 +74,12 @@ set (CMAKE_MODULE_LINKER_FLAGS_INIT ${CMAKE_SHARED_LINKER_FLAGS_INIT})
 set (CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT ${CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT})
 set (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT})
 
+# The Borland link tool does not support multiple concurrent
+# invocations within a single working directory.
+if(NOT DEFINED CMAKE_JOB_POOL_LINK)
+  set(CMAKE_JOB_POOL_LINK BCC32LinkPool)
+  set_property(GLOBAL APPEND PROPERTY JOB_POOLS BCC32LinkPool=1)
+endif()
 
 macro(__embarcadero_language lang)
   set(CMAKE_${lang}_COMPILE_OPTIONS_DLL "${_tD}") # Note: This variable is a ';' separated list

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

Summary of changes:
 Modules/Platform/Windows-Embarcadero.cmake |    6 ++++++
 1 file changed, 6 insertions(+)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list