[Cmake-commits] CMake branch, next, updated. v2.8.4-1870-gb1e2ef1

Alexander Neundorf neundorf at kde.org
Fri Jul 8 15:14:05 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  b1e2ef19de67458a70f49b62bbe3b8580bccffce (commit)
       via  757a6a091c5c9c93e540a76c031552f4b286aeec (commit)
       via  2a97c5d52f14f4e44100619dc9e551869ab77a93 (commit)
       via  ee1c6a5b0674b77a05c84ac208044f79d25826e5 (commit)
       via  5a26d3a525a59c7d98d52f0063a746a6d901794f (commit)
       via  b4b134a4fa346545704bf201cac916008d5c0ff1 (commit)
       via  73c12803e6c672ba5c441d2049ef22cfbc12873e (commit)
       via  8d7884c84a6071a282a61c992e41391834788d51 (commit)
       via  e8e1048c5ff7b625af32cee6a3072e8d979d2033 (commit)
       via  4da6bea9e234f364ff510d3760c4fb05c2d2e214 (commit)
       via  34cfc880b1ba8417d1007874807a9a98ac3e8efb (commit)
       via  c962b678931ee67466c6a3c068f3125b4b1dc899 (commit)
       via  986a1152672aa4a163a41aab735c3290aeaa617d (commit)
      from  0eecf40a940124f054e2de9056cebfb556169f1f (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=b1e2ef19de67458a70f49b62bbe3b8580bccffce
commit b1e2ef19de67458a70f49b62bbe3b8580bccffce
Merge: 0eecf40 757a6a0
Author:     Alexander Neundorf <neundorf at kde.org>
AuthorDate: Fri Jul 8 15:13:49 2011 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Fri Jul 8 15:13:49 2011 -0400

    Merge topic 'CheckCXXSymbolExists' into next
    
    757a6a0 Add CheckCXXSymbolExists.cmake, so this can be used also for C++
    2a97c5d Begin post-2.8.5 development
    ee1c6a5 CMake 2.8.5
    5a26d3a Merge branch 'release'
    b4b134a KWSys Nightly Date Stamp
    73c1280 CMake 2.8.5-rc3 include regression fix
    8d7884c Merge branch 'release'
    e8e1048 CMake 2.8.5-rc3
    4da6bea Merge branch 'release'
    34cfc88 CMake 2.8.5-rc2
    c962b67 Merge branch 'release'
    986a115 CMake 2.8.5-rc1


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=757a6a091c5c9c93e540a76c031552f4b286aeec
commit 757a6a091c5c9c93e540a76c031552f4b286aeec
Author:     Alex Neundorf <neundorf at kde.org>
AuthorDate: Fri Jul 8 21:09:32 2011 +0200
Commit:     Alex Neundorf <neundorf at kde.org>
CommitDate: Fri Jul 8 21:09:32 2011 +0200

    Add CheckCXXSymbolExists.cmake, so this can be used also for C++
    
    This commit splits check_symbol_exists() so that the actual
    implementation can be also used by check_cxx_symbol_exists()
    
    Alex

diff --git a/Modules/CheckCXXSymbolExists.cmake b/Modules/CheckCXXSymbolExists.cmake
new file mode 100644
index 0000000..1b012ae
--- /dev/null
+++ b/Modules/CheckCXXSymbolExists.cmake
@@ -0,0 +1,42 @@
+# - Check if a symbol exists as a function, variable, or macro in C++
+# CHECK_CXX_SYMBOL_EXISTS(<symbol> <files> <variable>)
+#
+# Check that the <symbol> is available after including given header
+# <files> and store the result in a <variable>.  Specify the list
+# of files in one argument as a semicolon-separated list.
+# CHECK_CXX_SYMBOL_EXISTS() can be used to check in C++ files, as opposed
+# to CHECK_SYMBOL_EXISTS(), which works only for C.
+#
+# If the header files define the symbol as a macro it is considered
+# available and assumed to work.  If the header files declare the
+# symbol as a function or variable then the symbol must also be
+# available for linking.  If the symbol is a type or enum value
+# it will not be recognized (consider using CheckTypeSize or
+# CheckCSourceCompiles).
+#
+# The following variables may be set before calling this macro to
+# modify the way the check is run:
+#
+#  CMAKE_REQUIRED_FLAGS = string of compile command line flags
+#  CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
+#  CMAKE_REQUIRED_INCLUDES = list of include directories
+#  CMAKE_REQUIRED_LIBRARIES = list of libraries to link
+
+#=============================================================================
+# Copyright 2003-2011 Kitware, Inc.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distribute this file outside of CMake, substitute the full
+#  License text for the above reference.)
+
+INCLUDE(CheckSymbolExists)
+
+MACRO(CHECK_CXX_SYMBOL_EXISTS SYMBOL FILES VARIABLE)
+  _CHECK_SYMBOL_EXISTS("${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckSymbolExists.cxx" "${SYMBOL}" "${FILES}" "${VARIABLE}" )
+ENDMACRO(CHECK_CXX_SYMBOL_EXISTS)
diff --git a/Modules/CheckSymbolExists.cmake b/Modules/CheckSymbolExists.cmake
index e86604b..a62aa70 100644
--- a/Modules/CheckSymbolExists.cmake
+++ b/Modules/CheckSymbolExists.cmake
@@ -11,6 +11,8 @@
 # available for linking.  If the symbol is a type or enum value
 # it will not be recognized (consider using CheckTypeSize or
 # CheckCSourceCompiles).
+# If the check needs to be done in C++, consider using CHECK_CXX_SYMBOL_EXISTS(),
+# which does the same as CHECK_SYMBOL_EXISTS(), but in C++.
 #
 # The following variables may be set before calling this macro to
 # modify the way the check is run:
@@ -34,11 +36,16 @@
 #  License text for the above reference.)
 
 MACRO(CHECK_SYMBOL_EXISTS SYMBOL FILES VARIABLE)
+  _CHECK_SYMBOL_EXISTS("${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckSymbolExists.c" "${SYMBOL}" "${FILES}" "${VARIABLE}" )
+ENDMACRO(CHECK_SYMBOL_EXISTS)
+
+MACRO(_CHECK_SYMBOL_EXISTS SOURCEFILE SYMBOL FILES VARIABLE)
+message(STATUS "files: -${FILES}-")
   IF("${VARIABLE}" MATCHES "^${VARIABLE}$")
     SET(CMAKE_CONFIGURABLE_FILE_CONTENT "/* */\n")
     SET(MACRO_CHECK_SYMBOL_EXISTS_FLAGS ${CMAKE_REQUIRED_FLAGS})
     IF(CMAKE_REQUIRED_LIBRARIES)
-      SET(CHECK_SYMBOL_EXISTS_LIBS 
+      SET(CHECK_SYMBOL_EXISTS_LIBS
         "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
     ELSE(CMAKE_REQUIRED_LIBRARIES)
       SET(CHECK_SYMBOL_EXISTS_LIBS)
@@ -57,14 +64,14 @@ MACRO(CHECK_SYMBOL_EXISTS 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"
-      "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckSymbolExists.c" @ONLY)
+      "${SOURCEFILE}" @ONLY)
 
     MESSAGE(STATUS "Looking for ${SYMBOL}")
     TRY_COMPILE(${VARIABLE}
       ${CMAKE_BINARY_DIR}
-      ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckSymbolExists.c
+      "${SOURCEFILE}"
       COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
-      CMAKE_FLAGS 
+      CMAKE_FLAGS
       -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_SYMBOL_EXISTS_FLAGS}
       "${CHECK_SYMBOL_EXISTS_LIBS}"
       "${CMAKE_SYMBOL_EXISTS_INCLUDES}"
@@ -72,19 +79,19 @@ MACRO(CHECK_SYMBOL_EXISTS SYMBOL FILES VARIABLE)
     IF(${VARIABLE})
       MESSAGE(STATUS "Looking for ${SYMBOL} - found")
       SET(${VARIABLE} 1 CACHE INTERNAL "Have symbol ${SYMBOL}")
-      FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log 
+      FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
         "Determining if the ${SYMBOL} "
         "exist passed with the following output:\n"
-        "${OUTPUT}\nFile ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckSymbolExists.c:\n"
+        "${OUTPUT}\nFile ${SOURCEFILE}:\n"
         "${CMAKE_CONFIGURABLE_FILE_CONTENT}\n")
     ELSE(${VARIABLE})
       MESSAGE(STATUS "Looking for ${SYMBOL} - not found.")
       SET(${VARIABLE} "" CACHE INTERNAL "Have symbol ${SYMBOL}")
-      FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log 
+      FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
         "Determining if the ${SYMBOL} "
         "exist failed with the following output:\n"
-        "${OUTPUT}\nFile ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckSymbolExists.c:\n"
+        "${OUTPUT}\nFile ${SOURCEFILE}:\n"
         "${CMAKE_CONFIGURABLE_FILE_CONTENT}\n")
     ENDIF(${VARIABLE})
   ENDIF("${VARIABLE}" MATCHES "^${VARIABLE}$")
-ENDMACRO(CHECK_SYMBOL_EXISTS)
+ENDMACRO(_CHECK_SYMBOL_EXISTS)

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

Summary of changes:
 CMakeLists.txt                     |    2 +-
 ChangeLog.manual                   |  423 ++++++++++++++++++++++++++++++++++++
 Modules/CheckCXXSymbolExists.cmake |   42 ++++
 Modules/CheckSymbolExists.cmake    |   25 ++-
 Source/kwsys/kwsysDateStamp.cmake  |    2 +-
 5 files changed, 483 insertions(+), 11 deletions(-)
 create mode 100644 Modules/CheckCXXSymbolExists.cmake


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list