summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-04-13 12:14:31 (GMT)
committerKitware Robot <kwrobot@kitware.com>2017-04-13 12:14:41 (GMT)
commit0d928d2fed11472ac1d8cb64e469b3ac86bf4975 (patch)
treefac964da3114fa845cb24a3f6e72a7312ca08f9f /Modules
parent2cb98329f1e1175fb24d7ea3daf969f1de8a2a21 (diff)
parent7f8b93ab0adb941bfc461c3a16476c5dda333f2f (diff)
downloadCMake-0d928d2fed11472ac1d8cb64e469b3ac86bf4975.zip
CMake-0d928d2fed11472ac1d8cb64e469b3ac86bf4975.tar.gz
CMake-0d928d2fed11472ac1d8cb64e469b3ac86bf4975.tar.bz2
Merge topic 'CheckSymbolExists-update-docs'
7f8b93ab CheckSymbolExists: Document that intrinsics may not be detected 91233d56 CheckSymbolExists: Format documentation b416d3e6 CheckSymbolExists: Convert docs to bracket comment syntax Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !695
Diffstat (limited to 'Modules')
-rw-r--r--Modules/CheckSymbolExists.cmake73
1 files changed, 41 insertions, 32 deletions
diff --git a/Modules/CheckSymbolExists.cmake b/Modules/CheckSymbolExists.cmake
index 8fecc57..6f1afcf 100644
--- a/Modules/CheckSymbolExists.cmake
+++ b/Modules/CheckSymbolExists.cmake
@@ -1,38 +1,47 @@
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# file Copyright.txt or https://cmake.org/licensing for details.
-#.rst:
-# CheckSymbolExists
-# -----------------
-#
-# Check if a symbol exists as a function, variable, or macro
-#
-# CHECK_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.
-# <variable> will be created as an internal cache variable.
-#
-# 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). 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:
-#
-# ::
-#
-# 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
-# CMAKE_REQUIRED_QUIET = execute quietly without messages
+#[=======================================================================[.rst:
+CheckSymbolExists
+-----------------
+
+Provides a macro to check if a symbol exists as a function, variable,
+or macro in ``C``.
+
+.. command:: check_symbol_exists
+
+ ::
+
+ check_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.
+ ``<variable>`` will be created as an internal cache variable.
+
+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 (so intrinsics may not be detected).
+If the symbol is a type, enum value, or intrinsic it will not be recognized
+(consider using :module:`CheckTypeSize` or :module:`CheckCSourceCompiles`).
+If the check needs to be done in C++, consider using
+:module:`CheckCXXSymbolExists` instead.
+
+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
+``CMAKE_REQUIRED_QUIET``
+ execute quietly without messages
+#]=======================================================================]
macro(CHECK_SYMBOL_EXISTS SYMBOL FILES VARIABLE)
if(CMAKE_C_COMPILER_LOADED)