mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-09-25 04:09:36 +03:00
Introduce `CMD_STRICT` to act as a parent for warnings about allowed but disrecommended usage. Introduce a warning that discourages use of non-target directives (which modify the build environment for the entire [sub]tree). Add notes to the official documentation recommending use of target-specific alternatives. This has been accepted wisdom for quite some time, but only some of the affected commands made any mention of this in the documentation.
32 lines
1.1 KiB
ReStructuredText
32 lines
1.1 KiB
ReStructuredText
add_compile_definitions
|
|
-----------------------
|
|
|
|
.. versionadded:: 3.12
|
|
|
|
Add preprocessor definitions to the compilation of source files.
|
|
|
|
.. code-block:: cmake
|
|
|
|
add_compile_definitions(<definition> ...)
|
|
|
|
Adds preprocessor definitions to the compiler command line.
|
|
|
|
The preprocessor definitions are added to the :prop_dir:`COMPILE_DEFINITIONS`
|
|
directory property for the current ``CMakeLists`` file. They are also added to
|
|
the :prop_tgt:`COMPILE_DEFINITIONS` target property for each target in the
|
|
current ``CMakeLists`` file.
|
|
|
|
Definitions are specified using the syntax ``VAR`` or ``VAR=value``.
|
|
Function-style definitions are not supported. CMake will automatically
|
|
escape the value correctly for the native build system (note that CMake
|
|
language syntax may require escapes to specify some values).
|
|
|
|
.. versionadded:: 3.26
|
|
Any leading ``-D`` on an item will be removed.
|
|
|
|
.. |command_name| replace:: ``add_compile_definitions``
|
|
.. include:: include/GENEX_NOTE.rst
|
|
|
|
.. |target_command_name| replace:: :command:`target_compile_definitions`
|
|
.. include:: include/NON_TARGET_NOTE.rst
|