Help: add section on debugging generator expressions.

This resolves #18550.
This commit is contained in:
Joachim Wuttke (h)
2018-11-04 23:13:21 +01:00
committed by Joachim Wuttke (o)
parent e0f0f80f02
commit ab1d7df757

View File

@@ -440,3 +440,25 @@ Output-Related Expressions
Content of ``...`` converted to shell path style. For example, slashes are
converted to backslashes in Windows shells and drive letters are converted
to posix paths in MSYS shells. The ``...`` must be an absolute path.
Debugging
=========
Since generator expressions are evaluated during generation of the buildsystem,
and not during processing of ``CMakeLists.txt`` files, it is not possible to
inspect their result with the :command:`message()` command.
One possible way to generate debug messages is to add a custom target,
.. code-block:: cmake
add_custom_target(genexdebug COMMAND ${CMAKE_COMMAND} -E echo "$<...>")
The shell command ``make genexdebug`` (invoked after execution of ``cmake``)
would then print the result of ``$<...>``.
Another way is to write debug messages to a file:
.. code-block:: cmake
file(GENERATE OUTPUT filename CONTENT "$<...>")