CheckCXXSymbolExists¶
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 toCHECK_SYMBOL_EXISTS(), which works only forC.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
CheckTypeSizeorCheckCXXSourceCompiles).
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- a ;-list of macros to define (-DFOO=bar).
CMAKE_REQUIRED_INCLUDES- a ;-list of header search paths to pass to the compiler.
CMAKE_REQUIRED_LINK_OPTIONS- a ;-list of options to add to the link command.
CMAKE_REQUIRED_LIBRARIES- a ;-list of libraries to add to the link
command. See policy
CMP0075. CMAKE_REQUIRED_QUIET- execute quietly without messages.