mirror of
https://github.com/Kitware/CMake.git
synced 2026-03-18 09:50:35 -05:00
Help: Clarify configure_file #cmakedefine01 syntax and behavior
Fixes: #21935
This commit is contained in:
@@ -36,8 +36,30 @@ or
|
|||||||
depending on whether ``VAR`` is set in CMake to any value not considered
|
depending on whether ``VAR`` is set in CMake to any value not considered
|
||||||
a false constant by the :command:`if` command. The "..." content on the
|
a false constant by the :command:`if` command. The "..." content on the
|
||||||
line after the variable name, if any, is processed as above.
|
line after the variable name, if any, is processed as above.
|
||||||
Input file lines of the form ``#cmakedefine01 VAR`` will be replaced with
|
|
||||||
either ``#define VAR 1`` or ``#define VAR 0`` similarly.
|
Unlike lines of the form ``#cmakedefine VAR ...``, in lines of the form
|
||||||
|
``#cmakedefine01 VAR``, ``VAR`` itself will expand to ``VAR 0`` or ``VAR 1``
|
||||||
|
rather than being assigned the value ``...``. Therefore, input lines of the form
|
||||||
|
|
||||||
|
.. code-block:: c
|
||||||
|
|
||||||
|
#cmakedefine01 VAR
|
||||||
|
|
||||||
|
will be replaced with either
|
||||||
|
|
||||||
|
.. code-block:: c
|
||||||
|
|
||||||
|
#define VAR 0
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
.. code-block:: c
|
||||||
|
|
||||||
|
#define VAR 1
|
||||||
|
|
||||||
|
Input lines of the form ``#cmakedefine01 VAR ...`` will expand
|
||||||
|
as ``#cmakedefine01 VAR ... 0`` or ``#cmakedefine01 VAR ... 0``,
|
||||||
|
which may lead to undefined behavior.
|
||||||
|
|
||||||
.. versionadded:: 3.10
|
.. versionadded:: 3.10
|
||||||
The result lines (with the exception of the ``#undef`` comments) can be
|
The result lines (with the exception of the ``#undef`` comments) can be
|
||||||
|
|||||||
Reference in New Issue
Block a user