Commit Graph

70839 Commits

Author SHA1 Message Date
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
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
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
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
Brad King
323b24073c Merge topic 'patch-CheckFunctionExists'
08ae40fabf CheckFunctionExists, CheckFortranFunctionExists: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10811
2025-05-23 08:25:06 -04:00
Brad King
2bd60d2d2f Merge topic 'swift-module-nested-structure'
1711e86d6c Swift: Generate nested swift modules in build dir
b36175abdb Swift: Detect module triple from compiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10664
2025-05-23 08:23:28 -04:00
John Parent
b1d9a5313c cmLocalGenerator: add a GetObjectOutputRoot method
This will allow object locations to be changed in a single place.
2025-05-23 11:39:54 +02:00
Ben Boeckel
b82a74d918 generators: use GetSupportDirectory() in more places 2025-05-23 11:39:53 +02:00
John Parent
36f85ee0cc cmGeneratorTarget: query the local generator for the target directory 2025-05-23 11:39:53 +02:00
Kitware Robot
c9e1731416 CMake Nightly Date Stamp 2025-05-23 00:04:35 -04:00
Ben Boeckel
ff5d7bc301 cmLocalXCodeGenerator: use a per-target directory
With all code starting to go towards using per-target directories, Xcode
needs to use one as well.
2025-05-23 00:24:01 +02:00
Brad King
afd6c2966e cmCTestSubmitHandler: Move internal helpers to anonymous namespace 2025-05-22 14:30:38 -04:00
Brad King
78f0b2aeed cmCTestSubmitHandler: Make internal method private 2025-05-22 14:30:38 -04:00
Brad King
2a9cfc2da3 cmCTestSubmitHandler: Remove unnecessary type alias 2025-05-22 14:30:37 -04:00
Brad King
8f698e1708 cmCTestSubmitHandler: Open log file earlier 2025-05-22 14:30:37 -04:00
Brad King
7475921ff8 cmCTestSubmitHandler: Inline and remove method called only once 2025-05-22 14:30:37 -04:00
Peter Kokot
157c97306f CheckLibraryExists: Update documentation
- Added intro code block showing how to include this module.
- Used "command" instead of "macro".
- Added rubric title for variables that affect the check command.
- Refactored note about using CheckSymbolExists as a more robust check.
2025-05-22 19:16:48 +02:00
Brad King
0b61a17c93 ctest: Enable color output on Windows Consoles supporting VT100 escapes
Extend commit ffdec37a19 (CTest: Add colored output on tests summary
where supported, 2018-11-07, v3.14.0-rc1~384^2) to enable color on
Windows.

Issue: #26924
2025-05-22 13:12:41 -04:00
Ben Boeckel
aafd771529 cmNinjaTargetGenerator: use GetObjectFileDir where possible
Lots of code simplification.
2025-05-22 17:02:53 +02:00
Ben Boeckel
9f97582973 cmMakefileTargetGenerator: use TargetBuildDirectory members
Some code paths end up recomputing some paths that are computed in
member variables. Use them.
2025-05-22 17:02:53 +02:00
Ben Boeckel
aaeaeff258 cmGlobalVisualStudioGenerator: simplify target dir construction
The components checked for `.empty()` are never actually empty.
2025-05-22 17:02:53 +02:00
John Parent
a6da0b08b7 cmLocalCommonGenerator: factor out GetTargetDirectory 2025-05-22 17:02:53 +02:00
Ben Boeckel
ec85753502 cmNinjaTargetGenerator: convert linked target dirs to ninja paths 2025-05-22 17:02:53 +02:00
Ben Boeckel
03ed0ff57c cmLocalGenerator: factor out creating a "safe" file path 2025-05-22 17:02:52 +02:00
Ben Boeckel
5374edc8bf cmLocalGenerator: remove unnecessary .c_str() 2025-05-22 16:02:49 +02:00