[Cmake-commits] CMake branch, next, updated. v2.8.5-1673-gff1236f

David Cole david.cole at kitware.com
Mon Aug 22 15:59:27 EDT 2011


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  ff1236fa10ccb09cf607d8f42cccbc0a213f042e (commit)
       via  6b3993b0bfaeb18ea93367006a9512ecc7f159b4 (commit)
      from  7ada2d7c9493ffe2109558ab6c2aceb5d7776fe0 (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=ff1236fa10ccb09cf607d8f42cccbc0a213f042e
commit ff1236fa10ccb09cf607d8f42cccbc0a213f042e
Merge: 7ada2d7 6b3993b
Author:     David Cole <david.cole at kitware.com>
AuthorDate: Mon Aug 22 15:59:26 2011 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Aug 22 15:59:26 2011 -0400

    Merge topic 'fix-11333-use-correct-thread-flags' into next
    
    6b3993b CheckSymbolExists: Use IMMEDIATE flag for configure_file (#11333)


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6b3993b0bfaeb18ea93367006a9512ecc7f159b4
commit 6b3993b0bfaeb18ea93367006a9512ecc7f159b4
Author:     David Cole <david.cole at kitware.com>
AuthorDate: Mon Aug 22 15:48:26 2011 -0400
Commit:     David Cole <david.cole at kitware.com>
CommitDate: Mon Aug 22 15:50:03 2011 -0400

    CheckSymbolExists: Use IMMEDIATE flag for configure_file (#11333)
    
    The test "complex" sets the variable CMAKE_BACKWARDS_COMPATIBILITY
    to 1.4. When that variable is set, configure_file does not default
    to IMMEDIATE mode processing. And so, the output file likely does
    not exist yet by the time the next line in the CMakeLists.txt file
    is processed. When that next line is "try_compile" on that file,
    this is a problem.
    
    Fix the problem by explicitly using IMMEDIATE in the configure_file
    call.
    
    This problem was quite mysterious, as it only showed up on the
    "complex" test, when the previous commit introduced a CheckSymbolExists
    call into the FindThreads module. Which is not even explicitly included
    in the "complex" test... FindThreads gets included indirectly only
    as a side effect of setting CMAKE_BACKWARDS_COMPATIBILITY to 1.4 and
    even then it's included indirectly by auto-inclusion of
    CMakeBackwardCompatibilityC.cmake...
    
    Wow. Just wow.

diff --git a/Modules/CheckSymbolExists.cmake b/Modules/CheckSymbolExists.cmake
index be7d658..183b2bb 100644
--- a/Modules/CheckSymbolExists.cmake
+++ b/Modules/CheckSymbolExists.cmake
@@ -63,7 +63,7 @@ MACRO(_CHECK_SYMBOL_EXISTS SOURCEFILE SYMBOL FILES VARIABLE)
       "${CMAKE_CONFIGURABLE_FILE_CONTENT}\nvoid cmakeRequireSymbol(int dummy,...){(void)dummy;}\nint main()\n{\n#ifndef ${SYMBOL}\n  cmakeRequireSymbol(0,&${SYMBOL});\n#endif\n  return 0;\n}\n")
 
     CONFIGURE_FILE("${CMAKE_ROOT}/Modules/CMakeConfigurableFile.in"
-      "${SOURCEFILE}" @ONLY)
+      "${SOURCEFILE}" @ONLY IMMEDIATE)
 
     MESSAGE(STATUS "Looking for ${SYMBOL}")
     TRY_COMPILE(${VARIABLE}

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

Summary of changes:
 Modules/CheckSymbolExists.cmake |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list