Browse Source

Help: add section on debugging generator expressions.

This resolves #18550.
Joachim Wuttke (h) 7 năm trước cách đây
mục cha
commit
ab1d7df757

+ 22 - 0
Help/manual/cmake-generator-expressions.7.rst

@@ -440,3 +440,25 @@ Output-Related Expressions
   Content of ``...`` converted to shell path style. For example, slashes are
   Content of ``...`` converted to shell path style. For example, slashes are
   converted to backslashes in Windows shells and drive letters are converted
   converted to backslashes in Windows shells and drive letters are converted
   to posix paths in MSYS shells. The ``...`` must be an absolute path.
   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 "$<...>")