CheckCXXSymbolExists: Clarify documented role

This commit is contained in:
Brad King
2019-07-10 09:50:04 -04:00
parent 580c694363
commit cafaa5883a

View File

@@ -5,26 +5,27 @@
CheckCXXSymbolExists
--------------------
Check if a symbol exists as a function, variable, or macro in C++
Check if a symbol exists as a function, variable, or macro in ``C++``.
.. command:: CHECK_CXX_SYMBOL_EXISTS
.. command:: check_cxx_symbol_exists
.. code-block:: cmake
CHECK_CXX_SYMBOL_EXISTS(<symbol> <files> <variable>)
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``.
``check_cxx_symbol_exists()`` can be used to check for symbols as seen by
the C++ compiler, as opposed to :command:`check_symbol_exists`, which always
uses the ``C`` compiler.
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 :module:`CheckTypeSize`
or :module:`CheckCXXSourceCompiles`).
linking. If the symbol is a type, enum value, or C++ template it will
not be recognized: consider using the :module:`CheckTypeSize`
or :module:`CheckCXXSourceCompiles` module instead.
The following variables may be set before calling this macro to modify
the way the check is run: