Tutorial: Restore source archive when published on cmake.org

Restore commit 4cb616fed6 (Tutorial: Provide a source archive when
published on cmake.org, 2022-04-27, v3.23.2~22^2).  Its effects were
accidentally reverted by commit 9784834b4c (Help: Use `*.rst` extension
for included files, 2025-04-07, v4.1.0-rc1~354^2).

Reported-by: Vito Gamberini <vito.gamberini@kitware.com>
This commit is contained in:
Brad King
2025-10-29 08:52:29 -04:00
parent 66095fd31d
commit 5473a45fd8
3 changed files with 10 additions and 6 deletions

View File

@@ -0,0 +1,3 @@
.. |tutorial_source| replace::
The tutorial documentation and source code examples can be found in
the ``Help/guide/tutorial`` directory of the CMake source code tree.

View File

@@ -11,8 +11,9 @@ work together in an example project can be very helpful.
Steps
=====
The tutorial documentation and source code examples can be found in
the ``Help/guide/tutorial`` directory of the CMake source code tree.
.. include:: include/source.rst
|tutorial_source|
Each step has its own subdirectory containing code that may be used as a
starting point. The tutorial examples are progressive so that each step
provides the complete solution for the previous step.

View File

@@ -14,7 +14,7 @@ file(COPY "${help_dir}/guide/tutorial/"
DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/${archive_name}"
NO_SOURCE_PERMISSIONS
PATTERN *.rst EXCLUDE
PATTERN source.txt EXCLUDE
REGEX "/guide/tutorial/include$" EXCLUDE
)
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/${archive_name}/README.txt" [[
This directory contains source code examples for the CMake Tutorial.
@@ -32,11 +32,11 @@ file(ARCHIVE_CREATE
)
# Write a reStructuredText snippet included from the tutorial index.
file(WRITE "${help_dir}/guide/tutorial/source.txt" "
file(WRITE "${help_dir}/guide/tutorial/include/source.rst" [[
.. |tutorial_source| replace::
The tutorial source code examples are available in
:download:`this archive </_generated/${archive_name}.zip>`.
")
:download:`this archive </_generated/]] "${archive_name}" [[.zip>`.
]])
# Remove temporary directory.
file(REMOVE_RECURSE "${CMAKE_CURRENT_BINARY_DIR}/${archive_name}")