Commit Graph

140 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
058511c6b6 Tutorial: Update IPO example in Step 6 2025-10-16 09:09:51 -04:00
Vito Gamberini
c8adfdb0a8 Tutorial: Fix typos and mislabeled code blocks 2025-10-03 18:01:06 -04:00
Vito Gamberini
07518509db Tutorial: Fix example FILE_SET names
FILE_SET names begin with lowercase letters, the examples use uppercase

Fixes #27282
2025-10-02 19:00:43 -04:00
Adrien Ollier
fcc2800f64 Tutorial: text not correctly rendered
There are some restrictions on backquotes markup.
One of them is it must be separated from
surrounding text by non-word characters.
2025-09-26 17:42:59 +02: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
Peter Kokot
e6f9ebbbe1 Check{,C,CXX,OBJC,OBJCXX,Fortran}SourceCompiles: Update documentation
Changes:

- Added intro code blocks showing how to include these modules.
- Added examples sections.
- Used "command" instead of "macro".
- Commands sections added to have a clearer overview of the modules at
  first encounter.
- Reworded commands arguments a bit.
- Added a rubric title for variables that affect the checks.
- CheckFortranSourceCompiles: Added CMake version when SRC_EXT option
  was introduced.
- Listed CMAKE_TRY_COMPILE_TARGET_TYPE variable in the rubric together
  with CMAKE_REQUIRED_* variables and added an include RST file for it.
- Used lowercase style for check_fortran_source_compiles().
2025-05-26 02:49:32 +02:00
Brad King
7c8eca5ecb Merge topic 'doc-tutorial-typo'
e07effe49c Help: Fix wording in tutorial workflow description

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10716
2025-04-28 11:18:05 -04:00
Brad King
e07effe49c Help: Fix wording in tutorial workflow description 2025-04-25 11:10:10 -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
Daniel Pfeifer
593a079a8f Tutorial: Cleanup CTestConfig.cmake
* Remove `CTEST_PROJECT_NAME`, as it is no longer used.
* Set `CTEST_SUBMIT_URL` instead of `CTEST_DROP_*`.
* Remove `CTEST_SUBMIT_URL`, as it is not used.
2025-04-07 20:22:54 +02:00
Nikita Nemkin
9c963de998 Help: Remove stray spaces and one colon 2025-01-31 12:23:29 -05:00
Alex Turbov
bc4c71627a Help: Fix typos found by the rst-backticks hook
The corresponding `pre-commit` configuration is coming in the
separate MR.

Signed-off-by: Alex Turbov <i.zaufi@gmail.com>
2025-01-27 01:43:26 +04:00
Kitware Robot
0b96ae1f6a Revise C++ coding style using clang-format with "east const"
Run the `clang-format.bash` script to update all our C and C++ code to a
new style defined by `.clang-format`, now with "east const" enforcement.
Use `clang-format` version 18.

* If you reached this commit for a line in `git blame`, re-run the blame
  operation starting at the parent of this commit to see older history
  for the content.

* See the parent commit for instructions to rebase a change across this
  style transition commit.

Issue: #26123
2025-01-23 13:09:50 -05:00
Nirav Nirmal
e61ba188b6 Tutorial: Add missing entry in Step 1 list of files to edit
Exercise 3 requires editing `TutorialConfig.h.in`.
2025-01-08 09:43:06 -05:00
Brice Decaestecker
dccf2bdb75 Tutorial: Restore TODO 4 comment in step 7
Restore a comment added by commit f9ef15f3dc (Tutorial: Update step 7
style, 2022-10-07, v3.26.0-rc1~482^2) that was accidentally removed by
commit 8ddf32196c (Tutorial: Refactor MathFunctions code, 2023-02-10,
v3.27.0-rc1~441^2).
2024-11-27 09:28:34 -05:00
FrankYin
ea544235e5 Tutorial: Fix grammar typo in Step 11
Fix and improve wording in the "Adding Export Configuration" step.
2024-05-17 11:25:39 -04:00
betsy.mcphail
baf6a37ffa Tutorial: Set CPACK_GENERATOR in Step 9
In addition to CPACK_SOURCE_GENERATOR also set CPACK_GENERATOR.
2024-05-09 14:03:06 -04:00
Brad King
ddb608b1d9 Merge topic 'fix-tutorial'
6d48bd21ac Tutorial: Clarify the expected change to target_include_directories
4d56db038d Tutorial: Make `INSTALL_DESTINATION` consistent with installed destination
da22b269b2 Tutorial: Add missing `$` in generator expression

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9120
2024-01-08 09:43:29 -05:00
Kevin Albertson
6d48bd21ac Tutorial: Clarify the expected change to target_include_directories
The expectation is to modify the existing `target_include_directories`,
not add add a new `target_include_directories` command.
2024-01-05 13:22:39 -05:00
Kevin Albertson
4d56db038d Tutorial: Make INSTALL_DESTINATION consistent with installed destination 2024-01-05 13:21:08 -05:00
Kevin Albertson
da22b269b2 Tutorial: Add missing $ in generator expression 2024-01-05 13:21:08 -05:00
Bhavith C
20f74231db Help: Fix Step3 Mathfunction example
- TODO 6 has to be Link SqrtLibrary
- TODO 7 has to be Link MathFunctions

Signed-off-by: Bhavith C <bhavithc.acharya@gmail.com>
2023-12-23 22:57:00 +05:30
betsy.mcphail
a94a4c12e1 Tutorial: Fix-up typos and inconsistencies
* Fix typo in Step 2
* Fix incorrect code referenced in Step 3, TODO 7. Update comments in
MathFunctions/CMakeLists.txt to unique strings.
* Resolve inconsistencies between steps in MathFunctions/CMakeLists.txt
2023-09-07 10:57:19 -04:00
betsy.mcphail
7d3f4e12d2 Tutorial: Clarify instructions for multi-config generators in Step 1 2023-08-17 11:19:06 -04:00
Chris Mahoney
5e56300742 Tutorial: Refactor Step 10 2023-07-17 11:22:03 -04:00
Chris Mahoney
93289830ea Tutorial: Clarify Step 4 TODO 4 2023-07-17 11:22:03 -04:00
Chris Mahoney
c65e01a979 Tutorial: Clarify Step 3 2023-07-17 11:21:56 -04:00
Chris Mahoney
4f955834cf Tutorial: Fix Step 1 TODO 1 to be expandable 2023-06-22 13:42:05 -04:00
Markus Ferrell
a8679c997d Tutorial: Extend literal include to contain full code changes in solution
The solution for step 7 todo 5 did not include all of the code changes.
Modify it to include the needed `#endif` code change.
2023-06-15 09:29:16 -04:00
Paul Choisel
c6a426198a Tutorial: Move Step4-Ex1 to Step3-Ex2
During the training, we talk about INTERFACE libraries just before Step3
so it makes more sense to do the exercise related to them in Step3
2023-04-28 16:23:59 +02:00
Markus Ferrell
e1f2b35723 Tutorial: Refactor MakeTable commands into MakeTable.cmake 2023-03-07 11:43:26 -05:00
Markus Ferrell
8ddf32196c Tutorial: Refactor MathFunctions code
Propagate the refactor in Step 10 MathFunctions through all of the
steps. Use MathFunctions/MathFunctions.cxx instead of Tutorial.cxx
to determine which sqrt library is called. Adds .h files which
correspond to their .cxx files by name.
2023-02-23 09:42:10 -05:00
Joshua Perrett
2e3fcf9399 Tutorial: Fix typos in Step 11 exercise and solution 2023-01-18 21:43:49 +00:00
Joshua Perrett
f04c548877 Tutorial: Fix exercise in Step 10 to match solution provided in Step 11
The solution in Step 11 sets POSITION_INDEPENDENT_CODE to
`${BUILD_SHARED_LIBS}`, rather than simply to "True" in all cases.
2023-01-18 21:43:49 +00:00
Joshua Perrett
566e12c976 Tutorial: Fix destination of link from Step 6 to Step 5
The link in Step 6 (to "Testing Support") clearly refers to Exercise 2.
Fix the location to which the link jumps.
2023-01-18 21:43:49 +00:00
Joshua Perrett
bef0b9eb64 Tutorial: Fix exercise in Step 5 to match solution provided in Step 6
If you look at the solution for Step 6, you will see `0.0001` rather
than `0.00001` used for the last test case.  Fix the typo.
2023-01-18 14:10:42 -05:00
Markus Ferrell
91f6c808d0 Tutorial: Fix typo in step 5 todo statement 2023-01-11 11:55:53 -05:00
Alex Turbov
029210730a Help: Use role :program:
When mention execitable names use Sphinx semantic role `:program`
instead of ``executable`` or **executable**.
2022-11-06 04:28:21 +04:00
Brad King
6b27854d26 Merge topic 'tutorial_step7_update'
f9ef15f3dc Tutorial: Update step 7 style

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7787
2022-10-28 10:03:10 -04:00
Markus Ferrell
43f87741f4 Tutorial: Fix Step 5 solution after update to Step 6
Since commit 6e58a01f4e (Tutorial: Update step 6 style, 2022-10-06) the
`literalinclude` included an extra comment from step 6 instructions.
Fix the include bounds to remove the extra text.
2022-10-27 11:30:46 -04:00
Markus Ferrell
f9ef15f3dc Tutorial: Update step 7 style 2022-10-27 10:08:56 -04:00
Brad King
2954a810ce Merge topic 'tutorial_step6_update'
6e58a01f4e Tutorial: Update step 6 style

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7756
2022-10-27 09:45:48 -04:00
Markus Ferrell
277fbb3035 Tutorial: Restore USE_MYMATH in place of MY_MATH
In commit 80f5d28813 (Tutorial: Update step 2 style, 2022-07-25,
v3.25.0-rc1~226^2) we replaced some uses of `USE_MYMATH` with `MY_MATH`.
Restore the former name for consistency with the rest of the tutorial.
2022-10-25 16:31:38 -04:00
Markus Ferrell
6e58a01f4e Tutorial: Update step 6 style 2022-10-25 11:54:05 -04:00
Alex Turbov
3043c17039 Help: Add more CLI :option: references to various pages 2022-10-20 11:21:40 -04:00
Steven
5b7e465be3 Tutorial: Fix variable name typo in step 1
`CMAKE_CXX_REQUIRED_STANDARD` => `CMAKE_CXX_STANDARD_REQUIRED`
2022-10-17 10:36:15 -04:00