Commit Graph

70860 Commits

Author SHA1 Message Date
Brad King 1c8fa92921 Merge topic 'windows-module-def-per-lang'
8b710d8264 Linker: Generate per-language module -DEF: flags on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Markus Mützel <markus.muetzel@gmx.de>
Merge-request: !10836
2025-05-29 10:11:13 -04:00
Brad King f2239ecff7 Merge topic 'ci-linkcheck'
3fdd1a1d13 Autogen: Replace documentation links with their permanent redirects

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10835
2025-05-29 10:09:11 -04:00
Brad King 975b78d0eb Merge topic 'remove-CMakeDetermineVSServicePack'
39da33ae81 CMakeDetermineVSServicePack: Add policy to remove this module

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10834
2025-05-29 10:07:44 -04:00
Kitware Robot df894a11b3 CMake Nightly Date Stamp 2025-05-29 00:04:53 -04:00
Brad King 8b710d8264 Linker: Generate per-language module -DEF: flags on Windows
With IntelLLVM on Windows, we link using the compiler driver.
With MSVC on Windows, we invoke the linker directly.  If we
use both in a single build tree, for separate languages,
the value of `CMAKE_LINK_DEF_FILE_FLAG` conflicts.  Add a
per-language `CMAKE_<LANG>_LINK_DEF_FILE_FLAG` variable to
avoid the conflict.  Preserve the language-agnostic variable
for compatibility with projects that reference it.

Fixes: #26005
2025-05-28 13:48:26 -04:00
Brad King 3fdd1a1d13 Autogen: Replace documentation links with their permanent redirects 2025-05-28 11:11:20 -04:00
Brad King 39da33ae81 CMakeDetermineVSServicePack: Add policy to remove this module
It has been documented as deprecated since CMake 3.0.
2025-05-28 09:47:06 -04:00
Brad King 9ffbef62ca Merge topic 'improve-cps-docs'
551d4e399a Help: Improve CPS install documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10828
2025-05-28 09:20:01 -04:00
Brad King bc9785a12b Merge topic 'linker-launcher'
d176a8c5ce Fortran: Add support for [CMAKE_]Fortran_LINKER_LAUNCHER

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10831
2025-05-28 09:17:17 -04:00
Brad King 3bc68185b1 Merge topic 'cpack-DragNDrop-leaks'
07d9e9b5fe CPack/DragNDrop: Release CoreFoundation objects after they are used

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10830
2025-05-28 09:15:50 -04:00
Brad King 68f49d73bb Merge topic 'cpack-DragNDrop-crash'
bbc98fb67a CPack/DragNDrop: Avoid crash when locale identifier creation fails

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10829
2025-05-28 09:14:14 -04:00
Brad King a09fee08a8 Merge topic 'patch-AndroidTestUtilities'
16a05e4e7a AndroidTestUtilities: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10819
2025-05-28 09:12:34 -04:00
Brad King 73c5598f0a Merge topic 'patch-BundleUtilities'
1d52a6867a BundleUtilities: Sync documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10823
2025-05-28 09:10:40 -04:00
Brad King 70ff8fc481 Merge topic 'patch-DeployQt4'
04c57542e7 DeployQt4: Sync documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10825
2025-05-28 09:07:51 -04:00
Brad King d8feab4db2 Merge topic 'patch-CMakeDetermineVSServicePack'
10ad343e73 CMakeDetermineVSServicePack: Sync documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10821
2025-05-28 09:05:53 -04:00
Brad King 2e286b3cef Merge topic 'patch-CMakeExpandImportedTargets'
0723c36ffc CMakeExpandImportedTargets: Sync documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10822
2025-05-28 09:03:28 -04:00
Brad King 479f4f5e9a Merge topic 'patch-CheckIncludeFile'
b2e7736d81 CheckIncludeFile*: Sync documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10826
2025-05-28 08:55:44 -04:00
Brad King 8ae87de5f3 Merge topic 'patch-check-source-compiles'
e6f9ebbbe1 Check{,C,CXX,OBJC,OBJCXX,Fortran}SourceCompiles: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10824
2025-05-28 08:51:50 -04:00
Brad King 4be72a4c0e Merge topic 'patch-check-source-runs'
c5980ad868 Check*SourceRuns: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10820
2025-05-28 08:49:05 -04:00
Kitware Robot 40c8ad97ff CMake Nightly Date Stamp 2025-05-28 00:04:28 -04:00
Matthew Woehlke 551d4e399a Help: Improve CPS install documentation
Add documentation for several options related to CPS export/install that
were not previously documented. Add note to update documentation when
(if) COMPAT_VERSION support is not specific to CPS.
2025-05-27 12:28:05 -04:00
AZero13 07d9e9b5fe CPack/DragNDrop: Release CoreFoundation objects after they are used
Otherwise we will be leaking memory.
2025-05-27 11:19:19 -04:00
AZero13 bbc98fb67a CPack/DragNDrop: Avoid crash when locale identifier creation fails
If `CFLocaleCreateCanonicalLanguageIdentifierFromString` fails, stop
gracefully.  Otherwise we crash because `CFStringGetCString` cannot work
with null `CFStrings`.
2025-05-27 11:09:55 -04:00
Maximilian Sander d176a8c5ce Fortran: Add support for [CMAKE_]Fortran_LINKER_LAUNCHER
`CMAKE_<LANG>_LINKER_LAUNCHER` and `<LANG>_LINKER_LAUNCHER` are
already support for C, CXX, OBJC, and OBJCXX.  Add Fortran.

Closes: #26951
2025-05-27 11:00:54 -04:00
Peter Kokot 1d52a6867a BundleUtilities: Sync documentation
- Added intro code block showing how to include this module.
- Used word "commands" instead of "functions".
- Updated and synced commands descriptions.
- Added a very basic examples section for consistency.
2025-05-27 16:22:56 +02:00
Brad King 2cf735a5dc Merge topic 'target-file-dir-refactoring'
c95a8348ce cmLocalGenerator: add an override for CMakeFiles-using paths
35d32b8741 cmLocalGenerator: move the `CMakeFiles` subdir from the target to output root
bc19e42461 generators: use `GetObjectOutputRoot` to compute target directories
b1d9a5313c cmLocalGenerator: add a `GetObjectOutputRoot` method
b82a74d918 generators: use GetSupportDirectory() in more places
36f85ee0cc cmGeneratorTarget: query the local generator for the target directory
ff5d7bc301 cmLocalXCodeGenerator: use a per-target directory
aafd771529 cmNinjaTargetGenerator: use `GetObjectFileDir` where possible
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10812
2025-05-27 09:40:42 -04:00
Brad King 13254bea62 Merge topic 'try_compile-propagate-vars'
b0eb74cba5 try_compile: Restore propagation of CMAKE_<LANG>_LINK_PIE_SUPPORTED

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10818
2025-05-27 09:38:10 -04:00
Kitware Robot ede59aac3f CMake Nightly Date Stamp 2025-05-27 00:04:37 -04:00
Peter Kokot b2e7736d81 CheckIncludeFile*: Sync documentation
- Added intro code blocks showing how to include these modules.
- Used "command" instead of "macro".
- Mentioned policy CMP0075.
- Added additional example to CheckIncludeFile showing how to use
  CMAKE_REQUIRED_* variable.
2025-05-27 00:16:57 +02:00
Kitware Robot 38bcc1d014 CMake Nightly Date Stamp 2025-05-26 00:04:33 -04:00
Peter Kokot 04c57542e7 DeployQt4: Sync documentation
- Added note that this module is for Qt version 4 and newer version
  should be used.
- Added intro code block showing how to include this module.
- Used word "commands" instead of "functions".
- Added descriptions to commands.
- Used lowercase names of commands.
2025-05-26 02:55:17 +02: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
Peter Kokot 0723c36ffc CMakeExpandImportedTargets: Sync documentation
- Added intro code block showing how to include this module.
- Used word "command" instead of "function".
2025-05-26 00:51:46 +02:00
Peter Kokot 10ad343e73 CMakeDetermineVSServicePack: Sync documentation
- Added intro code block showing how to include this module.
- Used "command" instead of "function".
2025-05-26 00:40:01 +02:00
Peter Kokot c5980ad868 Check*SourceRuns: Update documentation
This updates the following modules:
- CheckCSourceRuns
- CheckCXXSourceRuns
- CheckFortranSourceRuns
- CheckOBJCSourceRuns
- CheckOBJCXXSourceRuns
- CheckSourceRuns

Changes:
- Added intro code blocks showing how to include these modules.
- Used word "command" instead of "macro".
- Added "Commands" sections to have a clearer overview of the modules at
  first encounter.
- Reworded commands descriptions and arguments a bit.
- Added a rubric title for variables that affect the checks.
- Added "Examples" sections.
- Added "See Also" sections.
- Added few more examples in the CheckSourceRuns module to show how to
  use this module with different languages, `CMAKE_REQUIRED_*` variables,
  and mentioned bracket argument syntax a bit.
2025-05-26 00:27:52 +02:00
Kitware Robot cfcff29087 CMake Nightly Date Stamp 2025-05-25 00:04:42 -04:00
Ben Boeckel c95a8348ce cmLocalGenerator: add an override for CMakeFiles-using paths
Visual Studio doesn't use a `CMakeFiles` subdirectory for its support
directories. However, some codepaths expect to use paths which are
always under `CMakeFiles`. Add a mechanism to keep the path for such
files.
2025-05-24 15:28:50 +02:00
Ben Boeckel 35d32b8741 cmLocalGenerator: move the CMakeFiles subdir from the target to output root
When target directories are shortened, the `CMakeFiles` path component
will be part of the root, not the target directory. Since other files
end up constructing paths manually, move the differing component into
the correct logical path construction part.
2025-05-24 15:28:47 +02:00
Ben Boeckel bc19e42461 generators: use GetObjectOutputRoot to compute target directories
In a coming change to shorten directory paths, this allows one place to
decide how to compute the target path root.
2025-05-24 15:27:38 +02:00
Brad King f8cc68d282 Merge topic 'wix-include-build-dir'
900897b510 CPack/WiX: Add the build directory to IncludeSearchPaths for wix.exe
a86eaf98f7 CPack/WiX: Restore condition for passing build directory to candle search path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10816
2025-05-24 07:15:35 -04:00
Brad King a2f22d6a56 Merge topic 'stdio-streams'
fb3e7825f3 StdIo: Restore Windows Console I/O modes on exit

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !10817
2025-05-24 07:14:09 -04:00
Brad King b0eb74cba5 try_compile: Restore propagation of CMAKE_<LANG>_LINK_PIE_SUPPORTED
Refactoring in commit c4e890946a (try_compile: consistently add language
properties, 2020-06-15, v3.19.0-rc1~633^2) accidentally dropped the
`_LINK` part of the name.  It also miscounted array indexes in a way
that happened to propagate `CMAKE_<LANG>_LINK_NO_PIE_SUPPORTED` whether
or not it is needed for the CMP0083 NEW behavior.  Simplify the code and
fix the variable name.

Fixes: #26948
2025-05-24 07:10:02 -04:00
Kitware Robot 78ce5b4fee CMake Nightly Date Stamp 2025-05-24 00:04:47 -04:00
Peter Kokot 16a05e4e7a AndroidTestUtilities: Update documentation
- Refactored module introduction.
- Used "commands" instead of "functions".
- Updated module documentation and synced it with other similar utility
  modules.
- Synced command arguments with implementation (DEVICE_OBJECT_STORE and
  DEVICE_TEST_DIR are required arguments).
- Added separate examples section.
2025-05-24 01:26:03 +02:00
Brad King fb3e7825f3 StdIo: Restore Windows Console I/O modes on exit
The Windows documentation [1] states:

> command-line applications should capture the initial console
> mode at startup and attempt to restore it when exiting

We set `ENABLE_VIRTUAL_TERMINAL_{INPUT,PROCESSING}` modes since
commit d6a1ff59f1 (StdIo: Provide metadata about stdin, stdout,
stderr streams, 2025-05-06).  Avoid leaking them.

[1] https://learn.microsoft.com/en-us/windows/console/console-modes

Issue: #26924
2025-05-23 10:35:47 -04:00
Julian Greilich 900897b510 CPack/WiX: Add the build directory to IncludeSearchPaths for wix.exe
In commit f2134169f6 (WiX: Add the build directory to IncludeSearchPaths
for candle.exe, 2018-07-06, v3.13.0-rc1~318^2) we implemented this for
WiX v3 with `candle.exe`.  Use the same mechanism for Wix v4 and upwards
for `wix.exe`.
2025-05-23 08:41:13 -04:00
Julian Greilich a86eaf98f7 CPack/WiX: Restore condition for passing build directory to candle search path
Refactoring in commit 48adc29721 (replace "std::string::find(x) == 0"
with cmHasPrefix(), 2020-03-20, v3.18.0-rc1~488^2~7) accidentally
changed `std::string::rfind(x, 0) != 0` to `!cmHasSuffix()` instead of
`!cmHasPrefix()`.

This is currently not an big issue, but leads to the build directory
being included even when no source file outside the build directory is
used in the project.
2025-05-23 08:40:44 -04:00
Brad King 12d8baadab Merge topic 'ctest-color-windows'
0b61a17c93 ctest: Enable color output on Windows Consoles supporting VT100 escapes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10813
2025-05-23 08:30:16 -04:00
Brad King c834f85ab0 Merge topic 'ctest-submit-cleanup'
afd6c2966e cmCTestSubmitHandler: Move internal helpers to anonymous namespace
78f0b2aeed cmCTestSubmitHandler: Make internal method private
2a9cfc2da3 cmCTestSubmitHandler: Remove unnecessary type alias
8f698e1708 cmCTestSubmitHandler: Open log file earlier
7475921ff8 cmCTestSubmitHandler: Inline and remove method called only once

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10815
2025-05-23 08:28:32 -04:00
Brad King ccec689b66 Merge topic 'patch-CheckLibraryExists'
157c97306f CheckLibraryExists: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10814
2025-05-23 08:27:27 -04:00