Commit Graph

45 Commits

Author SHA1 Message Date
Vito Gamberini fb58de1a56 Tutorial: Add Step 0 to prepare the working environment
Adds a "Step 0" to the tutorial which discusses minutia about where to
get CMake, how to run it, and most importantly deals at length with
various generator issues which aren't covered elsewhere.
2025-10-29 09:49:23 -04:00
Brad King b22a77e337 Merge topic 'doc-cmake.org-tutorial-archive' into release-4.2
5473a45fd8 Tutorial: Restore source archive when published on cmake.org

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11370
2025-10-29 09:31:10 -04:00
Brad King 5473a45fd8 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>
2025-10-29 09:17:14 -04:00
Vito Gamberini 058e7da541 Tutorial: Add redirect pages for removed steps 2025-09-17 11:57:34 -04:00
Vito Gamberini b2e3e3e30e Tutorial: Rewrite using conventions enabled by CMake 3.23
This is a full re-write of the CMake Tutorial for CMake 3.23, both
the functionality it provides, as well as the modern workflows that
developers use when interfacing with CMake.

Issue: #22663, #23086, #23799, #26053, #26105, #26153, #26914
2025-09-17 11:57:23 -04:00
Alex Turbov 9784834b4c Help: Use *.rst extension for included files
So, editor(s) can correctly highlight the RST syntax in the included files.
2025-04-14 03:07:46 +04:00
Markus Ferrell ccba87b05b Tutorial: Move step 10 to step 4
Shifts steps 4-9 to 5-10.
2022-08-08 17:15:48 -04:00
Markus Ferrell 6c77ccec51 Tutorial: Move step 8 to step 5. Shift steps 5-7 to 6-8. 2022-07-19 15:32:42 -04:00
Brad King 4cb616fed6 Tutorial: Provide a source archive when published on cmake.org
Provide readers following the tutorial on `cmake.org` a direct link to
download the tutorial's source examples.  Previously readers had to
fetch the CMake source tree separately and look for the tutorial source
examples inside it.

Fixes: #22475
2022-04-28 13:36:20 -04:00
Brad King 9c703ff741 Tutorial: Add infrastructure to preserve old links when renaming steps 2021-06-17 12:10:14 -04:00
Josef Angstenberger d1c3e7e78a Tutorial: Split steps into separate files
Fixes: #21737
2021-06-17 11:53:55 -04:00
Brad King 13fdb26323 Tutorial: Break up intro paragraph 2021-06-17 10:33:07 -04:00
Betsy McPhail 174b1e5da5 Tutorial: Remove incorrect instructions from Step 5
The first section of Step 5 is not tested, incorrect, and not the
recommended solution.

Fixes: #21539
2021-01-14 13:05:09 -05:00
fazl b42a63605c Tutorial: Fix minor typo in index.rst
s/mqsqrt.h/mysqrt.h/
2021-01-04 12:02:09 -05:00
Betsy McPhail 9b988d9e57 Help: Cleanup guides
* Move sections to be same level as Introduction in "Using Dependecies"
* Rename "Importing Exporting Targets" to "Importing Exporting Guide"
* Add an Introduction header to the Tutorial and Importing Exporting Guide
2020-09-25 15:29:05 -04:00
Brad King 9d9a6a8532 Merge topic 'tutorial-update'
63af35019a Tutorial: Add missing `language` option to literalinclude

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5046
2020-07-23 11:08:38 -04:00
Betsy McPhail 63af35019a Tutorial: Add missing language option to literalinclude 2020-07-22 16:17:41 -04:00
Jean-Christophe Fillion-Robin 207373802e Fix typos identified using codespell
See https://github.com/codespell-project/codespell#readme

The following command was used:

```
codespell -q6 --skip="\
.git,\
*.json,\
./Copyright.txt,\
./Help/command/foreach.rst,\
./Help/prop_test/REQUIRED_FILES.rst,\
./Help/variable/CTEST_COVERAGE_COMMAND.rst,\
./Modules/CMakeCheckCompilerFlagCommonPatterns.cmake,\
./Modules/CMakeRCInformation.cmake,\
./Modules/Internal/CPack/NSIS.template.in,\
./Modules/FindMatlab.cmake,\
./Modules/MatlabTestsRedirect.cmake,\
./Modules/Platform/Windows-Clang.cmake,\
./Modules/Platform/Windows-Intel-Fortran.cmake,\
./Modules/Platform/Windows-MSVC.cmake,\
./Source/CMakeVersion.cmake,\
./Source/cmConvertMSBuildXMLToJSON.py,\
./Source/cmCreateTestSourceList.cxx,\
./Source/cmGlobalVisualStudio10Generator.cxx,\
./Source/cmExportBuildFileGenerator.cxx,\
./Source/cmExportInstallAndroidMKGenerator.cxx,\
./Source/cmExportInstallFileGenerator.cxx,\
./Source/cmExportSet.cxx,\
./Source/cmExportTryCompileFileGenerator.cxx,\
./Source/cmFindPackageCommand.cxx,\
./Source/cmInstallCommand.cxx,\
./Source/cmGeneratorExpressionLexer.cxx,\
./Source/cmLocalVisualStudio7Generator.cxx,\
./Source/cmOrderDirectories.cxx,\
./Source/cmTarget.cxx,\
./Source/kwsys/*,\
./Source/QtDialog/CMakeSetupDialog.ui,\
./Source/CPack/WiX/cmWIXRichTextFormatWriter.cxx,\
./Source/CTest/cmParseCoberturaCoverage.h,\
./Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in,\
./Tests/RunCMake/CPack/tests/DMG_SLA/English.license.rtf,\
./Tests/RunCMake/CPack/tests/DMG_SLA/German.license.txt,\
./Tests/RunCMake/CPack/tests/DMG_SLA/German.menu.txt,\
./Tests/RunCMake/GoogleTest/xml_output.cpp,\
./Tests/RunCMake/Make/TargetMessages*,\
./Utilities/*,\
" \
-L "\
dependees,\
endwhile,\
fo,\
filetest,\
helpfull,\
nd,\
objext,\
stoll,\
supercedes,\
superceded,\
vas,\
varn,\
"
```
2020-07-22 12:44:47 -04:00
Betsy McPhail 8a80b8fbe4 Tutorial: Clarify Steps 1, 2 and 3 2020-07-17 12:17:26 -04:00
Brad King 3252bc4476 Merge topic 'tutorial_install_when_built_static'
0fdfd6bf37 Tutorial: Install correctly when built statically

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4906
2020-06-18 09:41:31 -04:00
Robert Maynard 7c3204fc7d Tutorial: Correct Step9 wording
on some platforms -fPIC is implicit so you won't get an error
2020-06-16 15:43:32 -04:00
Robert Maynard 0fdfd6bf37 Tutorial: Install correctly when built statically
When built statically we failed to install the SqrtLibrary
2020-06-16 15:38:57 -04:00
Betsy McPhail d0797f62d9 Tutorial: Clarify Step 5
Fixes: #20619
2020-04-23 11:47:20 -04:00
Betsy McPhail 07223c5c27 Tutorial: Update Step 5 to work on Windows
`log` and `exp` should be found on Windows systems now, as expected.

Update tests to be more specific in looking for the expected outcome of
the tutorial.
2020-02-27 14:58:24 -05:00
Brad King c5d7c29137 Help: Replace UTF-8 apostrophe with ascii apostrophe
Also replace UTF-8 graphical characters with simple dashes.

Fixes: #20349
2020-02-12 14:37:41 -05:00
Betsy McPhail fc2d1b1347 Tutorial: Clarify Step 5 2020-01-16 15:54:01 -05:00
Betsy McPhail 77b515f3eb Tutorial: Improve "MultiPackage" example
Rename to Step 12 and ensure that it follows Step 11
2020-01-10 11:37:54 -05:00
Betsy McPhail 3a510a47b0 Tutorial: Add links to relevant CMake documentation
Add links for commands, properties and variables.
2020-01-09 14:49:28 -05:00
Arkadiusz Drabczyk 02aa03eb0a Tutorial: replace Unicode EN DASH with ASCII dash
Unicode EN DASH is problematic:

- it cannot be easily found in web browsers, editors etc.
- it doesn't work when copied and run in the terminal
2019-11-18 06:51:58 +11:00
Craig Scott 9682adb6ad Tutorial: clean up typos, grammar and formatting 2019-11-04 12:44:34 +11:00
Betsy McPhail 6f6a32a0f6 Tutorial: Improve Step 9
* Move USE_MYMATH from configured header to target_compile_definitions
2019-08-19 11:49:05 -04:00
Betsy McPhail 6a35d630dc Tutorial: Improve Step 8
* Remove comments from CTestConfig.cmake
* Update directions
2019-08-19 11:49:05 -04:00
Betsy McPhail 61d4d990d6 Tutorial: Improve Step 7
* Update directions
2019-08-19 11:49:05 -04:00
Betsy McPhail a36731c634 Tutorial: Improve Step 6
* Print message when using the table
* Remove duplicated comment
* Remove HAVE_LOG and HAVE_EXP checks, use generated table instead
2019-08-19 11:49:05 -04:00
Betsy McPhail df9cdf629c Tutorial: Improve Step 5
* Updated output message
* Use 'target_compile_definitions' for HAVE_LOG and HAVE_EXP

Previously, the change from using TutorialConfig.h to
target_compile_definitions happened without explanation as part of Step 8.
2019-08-19 11:49:05 -04:00
Betsy McPhail 442c0f0d46 Tutorial: Improve Step 4
* Clarify directions
2019-08-19 11:49:05 -04:00
Betsy McPhail bc64401c3d Tutorial: Improve Step 3
* Move `option(USE_MYMATH...` to the same location in all CMakeLists files
2019-08-19 11:49:05 -04:00
Betsy McPhail 49ce4d6ff4 Tutorial: Improve Step 2
* Fix typo in #include
* Remove CMakeLists file that users should create
* Clarify which files users are expected to create
* Highlight the importance of configuring TutorialConfig.h.in after
  the MY_MATH option has been set
2019-08-19 11:49:05 -04:00
Betsy McPhail 82332f81bb Tutorial: Improve Step 1
* Update minimum required version to 3.10
* Use VERSION argument to project command rather than separate variables
* Replace `endif(USE_MYMATH)` with  more modern `endif()`
* Simplify the call to 'configure_file()'
* Add comments to tutorial.cxx to use as anchors in documentation
* Remove CMakeLists and TutorialConfig.h.in files that users should
  create. Consequently, remove Step1 from CMake tests.
2019-08-19 11:48:58 -04:00
Robert Maynard fa203ee323 Tutorial: Improve Step 10 generator expression example.
Use compiler flags and standard levels as the compelling argument
for using generator expressions and interface libraries
2019-07-25 07:30:13 -04:00
Robert Maynard c94e62c07e Tutorial: Updated to reference using cmake --install
This is preferred over using `make install` as it allows for control
over the install location, configuration, and component.
2019-07-19 14:38:05 -04:00
Brad King 8ab8563533 Help: Add tutorial guide table of contents 2019-06-19 09:00:19 -04:00
Betsy McPhail 0a6c9c417a Help: Update tutorial to include text from CMake book 2019-06-19 08:59:31 -04:00
Betsy McPhail eef3e020c2 Help: Populate tutorial guide text
Migrate tutorial text from individual `directions.txt` files to the main
tutorial document.  Add some comments to source code to provide anchors
for inclusion.
2019-06-19 08:57:12 -04:00
Brad King d2fde94809 Help: Add infrastructure for guide-level documentation
Create a `Help/guide/` directory to hold guide-level documents.
Build them in most documentation formats, but not as man pages.

Initialize the guide directory with a placeholder for the tutorial.
2019-06-18 10:36:16 -04:00