Commit Graph

70828 Commits

Author SHA1 Message Date
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
Kitware Robot 38bcc1d014 CMake Nightly Date Stamp 2025-05-26 00:04:33 -04: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
Ben Boeckel 4abd800498 cmLocalUnixMakefileGenerator3: use faster rfind overload 2025-05-22 16:02:49 +02:00
Ben Boeckel 9847dbb222 Tests/InstallParallel: unset NINJA_STATUS
The install tests check that the output matches content including the
"status" portion of the output. Unset the variable to avoid leakage from
development environments.
2025-05-22 16:02:49 +02:00
Brad King 6be0c6d26a Merge topic 'astgrep-cmstrcat'
557c44b93e cmStrCat: use character literals where possible
23779057fd cmStrCat: combine neighboring arguments where possible
483d13daf4 ast-grep: add a rule to turn strings into characters
61743471d9 ast-grep: add a rule to find adjacent string literals in cmStrCat calls

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10790
2025-05-22 08:47:15 -04:00
Brad King 80282f57a9 Merge topic 'windows-export-no-operators'
607d9cf561 WINDOWS_EXPORT_ALL_SYMBOLS: Do not export C++ operators declared extern "C"
8f8b2e9429 bindexplib: Truncate short symbol names on first embedded null-terminator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10791
2025-05-22 08:31:38 -04:00
Brad King 1934095e7b Merge topic 'patch-CheckVariableExists'
62c121163d CheckVariableExists: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10809
2025-05-22 08:28:46 -04:00
Brad King 863ba7c207 Merge topic 'patch-CheckTypeSize'
1afdd98ca3 CheckTypeSize: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10808
2025-05-22 08:26:54 -04:00
Brad King a792b23752 Merge topic 'patch-CheckLinkerFlag'
4b0bce12c8 CheckLinkerFlag: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10807
2025-05-22 08:24:15 -04:00
Brad King 0f0b3edfa6 Merge topic 'ci-intel-windows'
63c3e1fd3b ci: Shorten name of job testing Intel 2021.9 compilers on Windows
ebeee21983 ci: Update to IntelLLVM 2025.1 on Windows
3bce19c653 ci: Add script to repackage Intel oneAPI compilers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10810
2025-05-22 08:18:33 -04:00
Kitware Robot 7ffdcb1036 CMake Nightly Date Stamp 2025-05-22 00:04:25 -04:00
Peter Kokot 08ae40fabf CheckFunctionExists, CheckFortranFunctionExists: Update documentation
Changes:
- Added intro code blocks showing how to include these modules.
- Used "command" instead of "macro".
- Added some basic examples sections.
- Added a rubric title for variables that affect the checks.
- Synced and reworded descriptions.
- Added "See Also" sections.
2025-05-22 00:07:42 +02:00
Brad King 63c3e1fd3b ci: Shorten name of job testing Intel 2021.9 compilers on Windows
We do not need to test more than one patch level.
2025-05-21 16:47:03 -04:00