Explorar o código

Help: add section on debugging generator expressions.

This resolves #18550.
Joachim Wuttke (h) %!s(int64=7) %!d(string=hai) anos
pai
achega
ab1d7df757
Modificáronse 1 ficheiros con 22 adicións e 0 borrados
  1. 22 0
      Help/manual/cmake-generator-expressions.7.rst

+ 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
   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 "$<...>")