Check if a symbol exists as a function, variable, or macro in C++
CHECK_CXX_SYMBOL_EXISTS
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 CheckCXXSourceCompiles
).
The following variables may be set before calling this macro to modify the way the check is run:
CMAKE_REQUIRED_FLAGS
CMAKE_REQUIRED_DEFINITIONS
CMAKE_REQUIRED_INCLUDES
CMAKE_REQUIRED_LINK_OPTIONS
CMAKE_REQUIRED_LIBRARIES
CMP0075
.CMAKE_REQUIRED_QUIET
© 2000–2019 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.15/module/CheckCXXSymbolExists.html