CheckCXXSymbolExists: Clarify documented role

This commit is contained in:
Brad King
2019-07-10 09:50:04 -04:00
parent 580c694363
commit cafaa5883a
+9 -8
View File
@@ -5,26 +5,27 @@
CheckCXXSymbolExists 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 .. 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 Check that the ``<symbol>`` is available after including given header
``<files>`` and store the result in a ``<variable>``. Specify the list of ``<files>`` and store the result in a ``<variable>``. Specify the list of
files in one argument as a semicolon-separated list. files in one argument as a semicolon-separated list.
``CHECK_CXX_SYMBOL_EXISTS()`` can be used to check in C++ files, as ``check_cxx_symbol_exists()`` can be used to check for symbols as seen by
opposed to ``CHECK_SYMBOL_EXISTS()``, which works only for ``C``. 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 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 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 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 linking. If the symbol is a type, enum value, or C++ template it will
recognized (consider using :module:`CheckTypeSize` not be recognized: consider using the :module:`CheckTypeSize`
or :module:`CheckCXXSourceCompiles`). or :module:`CheckCXXSourceCompiles` module instead.
The following variables may be set before calling this macro to modify The following variables may be set before calling this macro to modify
the way the check is run: the way the check is run: