From b416d3e696f5976ecc80f79e39715f35114e41fd Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 12 Apr 2017 09:25:46 -0400 Subject: CheckSymbolExists: Convert docs to bracket comment syntax --- Modules/CheckSymbolExists.cmake | 65 +++++++++++++++++++++-------------------- 1 file changed, 33 insertions(+), 32 deletions(-) diff --git a/Modules/CheckSymbolExists.cmake b/Modules/CheckSymbolExists.cmake index 8fecc57..e9c4db3 100644 --- a/Modules/CheckSymbolExists.cmake +++ b/Modules/CheckSymbolExists.cmake @@ -1,38 +1,39 @@ # 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( ) -# -# Check that the is available after including given header -# and store the result in a . Specify the list of -# files in one argument as a semicolon-separated list. -# 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 +----------------- + +Check if a symbol exists as a function, variable, or macro + +CHECK_SYMBOL_EXISTS( ) + +Check that the is available after including given header + and store the result in a . Specify the list of +files in one argument as a semicolon-separated list. + 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 +#]=======================================================================] macro(CHECK_SYMBOL_EXISTS SYMBOL FILES VARIABLE) if(CMAKE_C_COMPILER_LOADED) -- cgit v0.12 From 91233d563b196fe0ee6c4d1dec0b20990723946b Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 12 Apr 2017 09:30:39 -0400 Subject: CheckSymbolExists: Format documentation --- Modules/CheckSymbolExists.cmake | 44 ++++++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/Modules/CheckSymbolExists.cmake b/Modules/CheckSymbolExists.cmake index e9c4db3..d92f4b2 100644 --- a/Modules/CheckSymbolExists.cmake +++ b/Modules/CheckSymbolExists.cmake @@ -5,34 +5,42 @@ CheckSymbolExists ----------------- -Check if a symbol exists as a function, variable, or macro +Provides a macro to check if a symbol exists as a function, variable, +or macro in ``C``. -CHECK_SYMBOL_EXISTS( ) +.. command:: check_symbol_exists -Check that the is available after including given header - and store the result in a . Specify the list of -files in one argument as a semicolon-separated list. - will be created as an internal cache variable. + :: + + check_symbol_exists( ) + + Check that the ```` is available after including given header + ```` and store the result in a ````. Specify the list + of files in one argument as a semicolon-separated list. + ```` 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++. +linking. +If the symbol is a type or enum value 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 +``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) -- cgit v0.12 From 7f8b93ab0adb941bfc461c3a16476c5dda333f2f Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 12 Apr 2017 09:33:03 -0400 Subject: CheckSymbolExists: Document that intrinsics may not be detected Fixes: #16794 --- Modules/CheckSymbolExists.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Modules/CheckSymbolExists.cmake b/Modules/CheckSymbolExists.cmake index d92f4b2..6f1afcf 100644 --- a/Modules/CheckSymbolExists.cmake +++ b/Modules/CheckSymbolExists.cmake @@ -22,8 +22,8 @@ or macro in ``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 +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. -- cgit v0.12