Commit Graph

8351 Commits

Author SHA1 Message Date
Peter Kokot
7b79c2b39d exec_program: Add example how to upgrade to execute_process()
This hopefully helps a bit when upgrading CMake code that uses
`exec_program()` command.

Changes:
- Used third-person phrasing for the command description.
- The `exec_program()` command arguments in signature updated a bit.
- Mention of CMakeLists.txt file removed as this command also worked in
  CMake scripts and other modes.
- Added examples section.
2025-04-17 01:02:47 +02:00
Brad King
7be87256a6 Merge topic 'patch-FindSDL'
905d461431 Find_SDL*: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10657
2025-04-16 09:10:58 -04:00
Brad King
cb31aa3476 Merge topic 'doc-include-rst'
9784834b4c Help: Use `*.rst` extension for included files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10615
2025-04-15 09:42:51 -04:00
Peter Kokot
905d461431 Find_SDL*: Update documentation
This updates the following modules:
- FindSDL
- FindSDL_gfx
- FindSDL_image
- FindSDL_mixer
- FindSDL_net
- FindSDL_sound
- FindSDL_ttf

Changes:
- Synced modules documentation.
- Added examples sections.
- Used the ``<PackageName>_FOUND`` variables. The uppercased
  ``<PACKAGENAME>_FOUND`` variables are also set to the same value as of
  CMake 3.3.
- Added notes regarding the CMake package configuration files
  provided by upstream distributions with separate imported targets.
- Find modules index sorted alphabetically for FindSDL* modules.
2025-04-15 14:23:12 +02:00
Brad King
ee24bb6a6f Merge topic 'cmake-parent-list-file'
a9ea55f0d7 Fix CMAKE_PARENT_LIST_FILE after return from include() or find_package()
41708398eb cmMakefile: Factor out base class for list file scope RAII
ce8be3da80 cmMakefile: De-duplicate CMAKE_CURRENT_LIST_FILE variable names
0b85f8f137 Tests: Add cases for CMAKE_PARENT_LIST_FILE with include() and find_package()
002979e145 Tests/RunCMake/include: Match incidental line numbers more robustly

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10505
2025-04-14 08:29:52 -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
Benjamin Buch
a9ea55f0d7 Fix CMAKE_PARENT_LIST_FILE after return from include() or find_package()
Fix the implementation, clarify the documentation, and add tests.

Fixes: #25026
Co-authored-by: Brad King <brad.king@kitware.com>
2025-04-12 09:40:37 -04:00
Brad King
dfc4beb09c Merge topic 'doc-path-case-sensitivity'
1fb7067b6e Help: Add 4.0 release note about file path case sensitivity on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10639
2025-04-11 14:37:21 -04:00
Brad King
1fb7067b6e Help: Add 4.0 release note about file path case sensitivity on Windows
Since KWSys commit `4feb470ab` (SystemTools: Remove GetActualCaseForPath
from CollapseFullPath, 2024-10-23), imported by commit ede7f2afa6 (KWSys
2024-10-24 (e1acde2e), 2024-10-24, v4.0.0-rc1~589^2~1^2), the KWSys
`CollapseFullPath` function that we use to normalize source file paths
no longer looks up the on-disk case of file paths.  This change was
intentionally made to reduce unnecessary disk accesses.  The change may
affect Windows-only projects that were never built on a case sensitive
filesystem.  Call out the change in the 4.0 release notes.

Issue: #26854
2025-04-11 10:33:09 -04:00
Brad King
028e1027be Merge branch 'release-4.0' 2025-04-10 11:32:29 -04:00
Brad King
ee515b2aa8 CMake 4.0.1 2025-04-10 10:58:22 -04:00
Brad King
03ceeac1bd Merge topic 'doc-macos-usr-local'
c69add958a Help: Add note about /usr/local/include on macOS without CMAKE_OSX_SYSROOT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10636
2025-04-10 10:54:13 -04:00
Brad King
c69add958a Help: Add note about /usr/local/include on macOS without CMAKE_OSX_SYSROOT
Issue: #19180
2025-04-10 10:16:29 -04:00
Brad King
8e4c49a4da Merge branch 'release-3.31' 2025-04-10 09:51:55 -04:00
Brad King
f098dc700e Merge branch 'release-3.31' into release-4.0 2025-04-10 09:51:27 -04:00
Brad King
7b16db932a CMake 3.31.7 2025-04-10 09:13:20 -04:00
Brad King
cc2d986fdf Merge topic 'GNUInstallDirs-special-cases'
4ed399ccfb GNUInstallDirs: Change special path defaults to absolute
7566a477f7 GNUInstallDirs: Factor out helper for special absolute path logic
42dfcbf1a5 GNUInstallDirs: Refactor LIBDIR default calculation
9789f7d05e GNUInstallDirs: Add internal helper to compute specific defaults
83f44bbf53 GNUInstallDirs: Factor out helper to compute system type
0c9b6aa9e4 GNUInstallDirs: De-duplicate description of defaults
18e1341950 GNUInstallDirs: Move defaults from arguments to variables
9f41a67fce GNUInstallDirs: Reduce duplication of CMAKE_INSTALL_ prefix
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10542
2025-04-10 08:57:49 -04:00
Brad King
b309159930 Merge topic 'iar-add-icstat-support'
c7d2a17253 IAR: Add support for C-STAT static analysis

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10624
2025-04-10 08:40:28 -04:00
Felipe Torrezan
c7d2a17253 IAR: Add support for C-STAT static analysis
The IAR platform offers an integrated static analysis tool named
IAR C-STAT.

Closes: #26844
2025-04-09 12:01:02 -04:00
Cristian Le
4ed399ccfb GNUInstallDirs: Change special path defaults to absolute
Add policy `CMP0192` for compatibility.

Closes: #25852
Signed-off-by: Cristian Le <git@lecris.dev>
2025-04-09 11:31:43 -04:00
Brad King
8535fd0af3 Merge topic 'doc-CMAKE_OSX_SYSROOT'
2164da0ae6 Help: Document CMAKE_OSX_SYSROOT default change in 4.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10623
2025-04-09 09:12:34 -04:00
Brad King
2164da0ae6 Help: Document CMAKE_OSX_SYSROOT default change in 4.0
In commit 7b19531291 (macOS: Do not pass any SDK/-isysroot to compilers
by default, 2024-11-06, v4.0.0-rc1~511^2) we forgot to update the
documentation of `CMAKE_OSX_SYSROOT`.

Fixes: #26846
2025-04-08 11:07:17 -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
Brad King
b6c88c0c5d Merge topic 'patch-FindASPELL'
dd2edc3497 FindASPELL: Add components and imported targets
1056f0b166 ci: Add aspell to Debian and Fedora base images

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10543
2025-04-01 13:07:18 -04:00
Brad King
a569077b88 Merge topic 'patch-CMAKE_COMPILER_IS_GNU-docs'
7db3f983b3 CMAKE_COMPILER_IS_*: Add RST deprecation directives and update docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10550
2025-04-01 13:03:45 -04:00
Brad King
2afcbe9a81 Merge topic 'patch-cmake-developer-docs'
4af847a1cd Help: Refine the Foo_VERSION_STRING explanation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10568
2025-04-01 12:57:21 -04:00
Brad King
029415fc68 Merge topic 'unity-relative-paths'
f706d8064b Help: Clarify wording of UNITY_BUILD_RELOCATABLE path alternatives
20412690fb Help: Add 4.0 release note for UNITY_BUILD_RELOCATABLE
89cea1c642 Help: Document CMAKE_UNITY_BUILD_RELOCATABLE variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10570
2025-04-01 12:54:36 -04:00
Brad King
e3f728e4dc Merge topic 'patch-CMakeDependentOption'
67055f5b3a CMakeDependentOption: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10563
2025-04-01 11:10:04 -04:00
Peter Kokot
dd2edc3497 FindASPELL: Add components and imported targets
Components are added in a backward-compatible way:

* ASPELL component - adds the ASPELL::ASPELL imported target
* Executable component - adds the ASPELL::Executable imported target

If components are not specified in find_package() call, module, by
default, searches for both components and provides backward
compatibility with the find_package(ASPELL) usage via ASPELL_LIBRARIES,
ASPELL_INCLUDE_DIR, and ASPELL_EXECUTABLE variables.

The ASPELL_DEFINITIONS variable description removed from the
documentation as it was never defined by this module.

Additionally added a Pspell interface check (pspell.h header file) if
Aspell library provides it. It is checked separately because it might
be located in a subdirectory of pspell/pspell.h and code includes it as
`<pspell.h>`. Some distributions package pspell.h as part of the
libpspell development package and install also libaspell development
package as a dependency for BC.

Added also ASPELL_VERSION variable in case aspell executable can
determine it.

Issue: #26811
2025-04-01 05:25:25 +02:00
Brad King
f706d8064b Help: Clarify wording of UNITY_BUILD_RELOCATABLE path alternatives 2025-03-31 19:35:30 -04:00
Brad King
20412690fb Help: Add 4.0 release note for UNITY_BUILD_RELOCATABLE
This was left out of commit 84996a65aa (Unity: Add option to use
relative paths for unity files, 2024-10-15, v4.0.0-rc1~637^2).

Issue: #26352
2025-03-31 19:31:03 -04:00
Brad King
89cea1c642 Help: Document CMAKE_UNITY_BUILD_RELOCATABLE variable
In commit 84996a65aa (Unity: Add option to use relative paths for unity
files, 2024-10-15, v4.0.0-rc1~637^2) we added support for this variable
to initialize the `UNITY_BUILD_RELOCATABLE` target property, but forgot
to document it.

Issue: #26352
2025-03-31 19:31:00 -04:00
Peter Kokot
4af847a1cd Help: Refine the Foo_VERSION_STRING explanation
Changes:

- The Foo_VERSION_STRING variable is a legacy variable name and should
  be set in find modules only if the existing module is replacing some
  of its previous version. Meaning new modules/code shouldn't introduce
  such variable from scratch.
- Reworded some sentences to remove "you" making the documentation more
  neutral and less direct.
2025-04-01 00:55:59 +02:00
Brad King
908814cda0 Merge topic 'iar-help-compiler-arch-id'
775e532afb IAR: Update documentation for CMAKE_<LANG>_COMPILER_ARCHITECTURE_ID

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10548
2025-03-31 09:45:15 -04:00
Peter Kokot
67055f5b3a CMakeDependentOption: Update documentation
This updates the module documentation to be more synced with other
modules. Also, this module on the first glance doesn't do what most
people might think. Because when condition evaluates to false, internal
cache remains with the same value, and a local variable is created with
the value provided in the last argument.

- Command arguments described separately and their placeholders renamed
  to more intuitive names.
- More examples added, starting with a very basic syntax usage to more
  complex ones, each described in more details.
- Each example has include() added to be more clear that this is a
  module command.
2025-03-31 02:42:49 +02:00
Craig Scott
eab202ac9d Merge topic 'doc-4.0-release-cleanup'
5dff5e2f7f Help: Fix typo in 4.0 release notes for CPack archive generator
713968c280 Help: Improve wording of docs related to MSVC runtime checks
316aaa6cdd Help: Fix inaccurate wording for CMAKE_XCODE_SCHEME_... variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10545
2025-03-30 06:00:08 -04:00
Craig Scott
cf9f4177a2 Merge topic 'doc-cpack-configs'
d289d720cb Help: Use consistent plural form for CPack configurations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10546
2025-03-30 05:55:58 -04:00
Peter Kokot
7db3f983b3 CMAKE_COMPILER_IS_*: Add RST deprecation directives and update docs
The `CMAKE_COMPILER_IS_*` variables have been documented as deprecated
since CMake 3.24, without emitting warnings.  This commit updates their
documentation to help users safely migrate to `CMAKE_<LANG>_COMPILER_ID`
variables. Also a RST deprecation directive is added to clarify their
status.
2025-03-28 21:14:19 +01:00
Brad King
e0b64aad53 Merge topic 'remove-FindCABLE'
2b8b17106c FindCABLE: Add policy to remove this module
3c2ed4bbc6 FindGCCXML: Move documentation to list of deprecated modules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10540
2025-03-28 09:16:34 -04:00
Brad King
883ba45df8 Merge topic 'patch-CMakeFindPackageMode'
e9b86f5618 CMakeFindPackageMode: Move documentation to --find-package option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10537
2025-03-28 09:12:32 -04:00
Felipe Torrezan
775e532afb IAR: Update documentation for CMAKE_<LANG>_COMPILER_ARCHITECTURE_ID 2025-03-28 10:47:37 +01:00
Craig Scott
d289d720cb Help: Use consistent plural form for CPack configurations 2025-03-28 15:46:12 +11:00
Craig Scott
5dff5e2f7f Help: Fix typo in 4.0 release notes for CPack archive generator 2025-03-28 14:23:47 +11:00
Craig Scott
713968c280 Help: Improve wording of docs related to MSVC runtime checks 2025-03-28 14:23:47 +11:00
Craig Scott
316aaa6cdd Help: Fix inaccurate wording for CMAKE_XCODE_SCHEME_... variables 2025-03-28 14:23:46 +11:00
Peter Kokot
e9b86f5618 CMakeFindPackageMode: Move documentation to --find-package option
- This moves the CMakeFindPackageMode internal module documentation to
  the --find-package option as this module itself cannot be used by the
  project.
- Additionally, some links added.
- The `QUIET` variable renamed in documentation to `SILENT` to be
  effective according to the current code.
2025-03-27 15:29:36 +01:00
Brad King
2b8b17106c FindCABLE: Add policy to remove this module
CABLE has not been maintained in a long time.
2025-03-27 09:48:49 -04:00
Brad King
3c2ed4bbc6 FindGCCXML: Move documentation to list of deprecated modules
This was left out of commit 2123244746 (FindGCCXML: Add policy to remove
this module, 2025-02-17).
2025-03-27 09:48:49 -04:00
Brad King
f403e570eb Merge topic 'compiler-architecture-id'
7f0f382c55 Provide CMAKE_<LANG>_COMPILER_ARCHITECTURE_ID on more compilers
019f0f8b32 ARCHITECTURE_ID: Save persistently even if empty
8e46672b29 Fortran: Detect pointer size on sparc architectures
eddf66eaef CMakeDetermineASMCompiler: De-duplicate list of compiler info variables
c0224f5aa1 CMakeDetermineCompilerABI: Make ABI info string more robust
67ab580804 Windows/Clang: Fix indentation in platform information module
1c9f8eeb4f Help: Document CMAKE_<LANG>_COMPILER_ARCHITECTURE_ID

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10516
2025-03-27 09:21:48 -04:00
Brad King
54b548df7b Merge topic 'macos-bundle-content-dir'
6b3ec3fefb Ninja/Makefile: Add support for copying directories into Apple bundles

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10508
2025-03-27 09:19:52 -04:00