[Cmake-commits] CMake branch, next, updated. v3.7.1-2145-g0cd3edc

Brad King brad.king at kitware.com
Thu Jan 12 15:54:05 EST 2017


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  0cd3edc01a87750ab414acb63bd817f6aa148768 (commit)
       via  4ae2dcb1b965efac7c088cbf97fa66c4d3c41858 (commit)
      from  664858e81eff9eb60278c3810638ce72a258e088 (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 -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0cd3edc01a87750ab414acb63bd817f6aa148768
commit 0cd3edc01a87750ab414acb63bd817f6aa148768
Merge: 664858e 4ae2dcb
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Jan 12 15:54:04 2017 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Thu Jan 12 15:54:04 2017 -0500

    Merge topic 'docs-function-exists' into next
    
    4ae2dcb1 CheckFunctionExists: Document suggestion to use CheckSymbolExists instead.


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4ae2dcb1b965efac7c088cbf97fa66c4d3c41858
commit 4ae2dcb1b965efac7c088cbf97fa66c4d3c41858
Author:     Stephen Sorley <ssorley at monetra.com>
AuthorDate: Thu Jan 12 13:10:25 2017 -0500
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Thu Jan 12 15:52:53 2017 -0500

    CheckFunctionExists: Document suggestion to use CheckSymbolExists instead.
    
    CheckFunctionExists has some severe limitations that are overcome by
    CheckSymbolExists.  Document them and suggest the alternative.

diff --git a/Modules/CheckFunctionExists.cmake b/Modules/CheckFunctionExists.cmake
index 5f049e7..ef08062 100644
--- a/Modules/CheckFunctionExists.cmake
+++ b/Modules/CheckFunctionExists.cmake
@@ -5,18 +5,16 @@
 # CheckFunctionExists
 # -------------------
 #
-# Check if a C function can be linked
+# Check if a C function can be linked::
 #
-# CHECK_FUNCTION_EXISTS(<function> <variable>)
+#   check_function_exists(<function> <variable>)
 #
-# Check that the <function> is provided by libraries on the system and
-# store the result in a <variable>.  This does not verify that any
-# system header file declares the function, only that it can be found at
-# link time (consider using CheckSymbolExists).
-# <variable> will be created as an internal cache variable.
+# Check that the ``<function>`` is provided by libraries on the system and store
+# the result in a ``<variable>``. ``<variable>`` will be created as an internal
+# cache variable.
 #
-# The following variables may be set before calling this macro to modify
-# the way the check is run:
+# The following variables may be set before calling this macro to modify the
+# way the check is run:
 #
 # ::
 #
@@ -25,6 +23,20 @@
 #   CMAKE_REQUIRED_INCLUDES = list of include directories
 #   CMAKE_REQUIRED_LIBRARIES = list of libraries to link
 #   CMAKE_REQUIRED_QUIET = execute quietly without messages
+#
+# .. note::
+#
+#   Prefer using :Module:`CheckSymbolExists` instead of this module,
+#   for the following reasons:
+#
+#   * ``check_function_exists()`` can't detect functions that are inlined
+#     in headers or specified as a macro.
+#
+#   * ``check_function_exists()`` can't detect anything in the 32-bit
+#     versions of the Win32 API, because of a mismatch in calling conventions.
+#
+#   * ``check_function_exists()`` only verifies linking, it does not verify
+#     that the function is declared in system headers.
 
 macro(CHECK_FUNCTION_EXISTS FUNCTION VARIABLE)
   if(NOT DEFINED "${VARIABLE}" OR "x${${VARIABLE}}" STREQUAL "x${VARIABLE}")

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

Summary of changes:
 Modules/CheckFunctionExists.cmake |   30 +++++++++++++++++++++---------
 1 file changed, 21 insertions(+), 9 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list