Commit Graph

14642 Commits

Author SHA1 Message Date
Brad King
00471550de Merge topic 'GoogleTest-variable-expansion'
c7884ceefa GoogleTest: Restore support for spaces in explicit WORKING_DIRECTORY

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10192
2025-01-28 08:42:28 -05:00
Ihor Sofiichenko
c7884ceefa GoogleTest: Restore support for spaces in explicit WORKING_DIRECTORY
Revise commit fc7aa3cd69 (tests: Preserve empty arguments in test
command lines, 2024-09-30, v3.31.0-rc1~33^2) to delay variable expansion
until code evaluation.  Otherwise we may parse the working directory
path as CMake language code.
2025-01-27 12:04:41 -05:00
Brad King
084f6055a8 Merge topic 'patch-CMAKE_OBJDUMP'
dc7aabf4d0 Help: Document CMAKE_OBJDUMP variable
4bd3519e89 CPack: Avoid mentioning internal CMake module in documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10224
2025-01-27 10:30:58 -05:00
Marc Chevrier
3d2709c1ae Linker configuration: rely now on CMAKE_<LANG>_LINK_MODE variable.
CMake now provides the CMAKE_<LANG>_LINK_MODE variable which specify how
the link step is done. So, the CMAKE_<LANG>_USING_LINKER_MODE variable
is no longer needed.
2025-01-26 14:45:21 +01:00
Marc Chevrier
0ba67171d9 Extend CMAKE_<LANG>_LINK_MODE support
* Add CMAKE_Swift_LINK_MODE
* Ensure correct definition for various clang usages on Windows
2025-01-26 14:45:21 +01:00
Peter Kokot
dc7aabf4d0 Help: Document CMAKE_OBJDUMP variable 2025-01-24 10:43:18 -05:00
Brad King
4bd3519e89 CPack: Avoid mentioning internal CMake module in documentation 2025-01-24 10:43:00 -05:00
Brad King
7210f2d8c3 Merge topic 'patch-load-cache-find-modules'
676b6d4574 FindFLTK*: Fix the load_cache() signature

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10220
2025-01-24 10:02:22 -05: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
Kitware Robot
b2ba64add9 Revise C++ coding style using clang-format-18
Run the `clang-format.bash` script to update all our C and C++ code to a
new style defined by `.clang-format`.  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.

Fixes: #26123
2025-01-23 11:43:06 -05:00
Brad King
1d4d4362d9 Merge topic 'remove-old-compatibility'
77f71ad4e2 Remove compatibility with CMake versions older than 3.5
fb1bd1d330 CMP0065: Remove support for OLD behavior
d9dd38cccf CMP0064: Remove support for OLD behavior
d88047c329 Remove compatibility with CMake versions older than 3.3
ac1a9cb160 CMP0063: Remove support for OLD behavior
36fffb673a CMP0062: Remove support for OLD behavior
789a7d73d4 CMP0061: Remove support for OLD behavior
3dc19e24cb CMP0060: Remove support for OLD behavior
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10210
2025-01-23 09:36:59 -05:00
Brad King
63924c4afa Merge topic 'ci-typos'
c3777c1536 ci: Extend spellcheck job with 'typos' tool
d11552c2d9 codespell: Exclude paths by patterns following pre-commit check conventions
11d0a631d4 codespell: Split multi-valued configuration across multiple lines
54dfadaf5a ci: Rename "codespell" job to more general name "spellcheck"
17fc94e5e3 ci: Add typos 1.29.4 to Fedora base image
ddf8220572 ci: Use Fedora 41 default flang package now that it is new enough
1e2d19ea4f gitignore: Tell tools honoring .gitignore to ignore .git too
0d0a94bcfb Tests: Fix Fortran syntax for initialized variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10211
2025-01-23 09:34:02 -05:00
Peter Kokot
676b6d4574 FindFLTK*: Fix the load_cache() signature
The load_cache(READ_WITH_PREFIX) command requires specifying one prefix
and the rest of the arguments are the cache entry names.
2025-01-22 23:43:39 +01:00
Peter Kokot
f416449664 CheckCXXCompilerFlag: Fix typo in argument 2025-01-22 18:24:13 +01:00
Brad King
fb1bd1d330 CMP0065: Remove support for OLD behavior 2025-01-22 10:40:55 -05:00
Brad King
c283aafe62 CMP0057: Remove support for OLD behavior 2025-01-22 10:40:53 -05:00
Brad King
76155c2ce6 Merge topic 'iar-find-linker'
cd9dd4cf8e IAR: decouple linker location from toolkit's bin dir

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10201
2025-01-22 09:28:12 -05:00
Brad King
9a3ecf15ab Merge topic 'tasking-std-flags'
c0972d2c81 Tasking: Drop extensions from C and CXX standard level flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Josef Angstenberger <code@jtxa.de>
Merge-request: !10208
2025-01-22 09:26:21 -05:00
Brad King
cf6114886a Merge topic 'CMAKE_LANG_DEVICE_LINK_MODE'
53de9d0125 Introduce CMAKE_<LANG>_DEVICE_LINK_MODE variable.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10209
2025-01-22 09:24:27 -05:00
Alex Turbov
c3777c1536 ci: Extend spellcheck job with 'typos' tool
Unlike the `codespell`, `typos` is capable of finding typos
in combined identifiers (`CamelCase` or `snake_case`).
2025-01-22 08:51:45 -05:00
Felipe Torrezan
cd9dd4cf8e IAR: decouple linker location from toolkit's bin dir
The implementation in commit 564d527c04 (IAR: Improve error message for
missing license, 2024-08-12, v3.31.0-rc1~234^2) failed for corner cases
in which symlinks were used from a location different from the one in
which the toolkit is shipped with (`<target>/bin`).

In this new implementation, the `<target>` architecture is taken solely
from the compiler NAME itself for all the supported languages and
forwarded to its respective BinUtils executable names
(e.g., `icc<target>`, `iasm<target>`, `a<target>`). This decouples the
location from the subdirectory in which they should be found.

Fixes: #26610
2025-01-21 19:21:06 +01:00
Alaa Mahran
c0972d2c81 Tasking: Drop extensions from C and CXX standard level flags
Tasking compiler extensions and language standard flags are not tied
together as they are with gcc/clang.  Since CMake does not model
granular abstractions for extensions, leave individual extension flags
to the project or user.

Fixes: #26591
2025-01-21 09:59:05 -05:00
Brad King
cbe7fc4b81 CMP0056: Remove support for OLD behavior 2025-01-21 09:44:05 -05:00
Brad King
7a39d926e8 Merge topic 'remove-old-compatibility'
381c446ff7 VS: Remove support for appending a platform to the generator name
dc24d88062 Remove compatibility with CMake versions older than 3.1
90d814f024 CMP0054: Remove support for OLD behavior
292aaffb78 Source: Remove unused cmCommandArgument{Lexer,Parser}
1150fae89a CMP0053: Remove support for OLD behavior
f0b1ca4d70 CMP0052: Remove support for OLD behavior
e4fddc8e37 CMP0051: Remove support for OLD behavior

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10205
2025-01-21 09:43:10 -05:00
Brad King
f8bf7fb546 Merge topic 'findx11-add-xpresent'
f2873fcf98 FindX11: Add missing Xpresent

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10200
2025-01-21 09:41:06 -05:00
Brad King
477292e7ad Merge topic 'patch-CMakePrintHelpers'
fb4d5f34fd CMakePrintHelpers: Enhance documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10194
2025-01-21 09:38:49 -05:00
Brad King
f5ea1f099a Merge topic 'patch-check-prototype-definition'
b4c418660f CheckPrototypeDefinition: Enhance documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10196
2025-01-21 09:37:25 -05:00
Brad King
f53b9e1d39 Merge topic 'patch-CMakePushCheckState-include-guard'
0348ae1a41 CMakePushCheckState: Add include_guard

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10190
2025-01-21 09:35:45 -05:00
Brad King
a571173076 Merge topic 'ep-colon-in-path'
b1ff216656 ExternalProject: Preserve colons and semicolons in the path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10197
2025-01-21 09:22:22 -05:00
Marc Chevrier
53de9d0125 Introduce CMAKE_<LANG>_DEVICE_LINK_MODE variable.
This is a complement to commit 00932ea864 (Introduce CMAKE_<LANG>_LINK_MODE variable., 2025-01-09)
2025-01-21 15:17:05 +01:00
Brad King
50eebed6ed Merge topic 'tasking-asm'
fc163f9e43 Tasking: Add support for ASM through the cctc compiler driver
942f0d119b Tasking: Add identification for the tasking assembler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10163
2025-01-20 10:03:00 -05:00
Brad King
90d814f024 CMP0054: Remove support for OLD behavior 2025-01-20 09:46:55 -05:00
Brad King
1150fae89a CMP0053: Remove support for OLD behavior 2025-01-20 09:46:55 -05:00
Komasan Zura
f2873fcf98 FindX11: Add missing Xpresent
The Xlib interface to the Xpresent extension was missing from the FindX11 module, so I put it in. The xcb interface is already present.
Xpresent project page: https://gitlab.freedesktop.org/xorg/lib/libxpresent
2025-01-19 23:08:03 -05:00
Brad King
796cf2d8eb CMP0025: Remove support for OLD behavior 2025-01-19 09:40:59 -05:00
Craig Scott
b1ff216656 ExternalProject: Preserve colons and semicolons in the path
The _ep_set_directories() function needs to ensure paths passed in
are in the expected CMake path form. The special character that
file(TO_CMAKE_PATH) interprets as a path separator must be
masked to prevent it splitting paths that contain that character
(semicolons on Windows, colons on other platforms).

Fixes: #26490
2025-01-19 22:43:59 +11:00
Peter Kokot
b4c418660f CheckPrototypeDefinition: Enhance documentation
- Function arguments explained in paragraphs
- A simplified pseudocode illustration added to better understand the
  check under the hood
- Usage example added to the bottom
2025-01-19 11:43:06 +01:00
Brad King
094b42b643 CMP0020: Remove support for OLD behavior 2025-01-18 09:51:44 -05:00
Brad King
8ef1b4001b Merge topic 'remove-old-compatibility'
785523a136 Remove compatibility with CMake versions older than 2.8.0
35282387ea CMP0014: Remove support for OLD behavior
fad9c55b8b CMP0013: Remove support for OLD behavior
98a59ba8ad CMP0012: Remove support for OLD behavior
3c0dbb66f5 CMP0011: Remove support for OLD behavior
cf832e75bc CMP0010: Remove support for OLD behavior
77f8c374f3 CMP0009: Remove support for OLD behavior
43ef139567 CMP0008: Remove support for OLD behavior
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10188
2025-01-18 09:50:27 -05:00
Brad King
e838fc5087 Merge topic 'FindRuby-use-validator'
61c3718a00 FindRuby: Use find_program VALIDATOR
e891159657 FindRuby: Clarify search process comments and conditions
9f0b3e90b6 FindRuby: Remove unused variable
e184dda2da FindRuby: Query Ruby_EXECUTABLE again if it changes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10167
2025-01-18 09:43:19 -05:00
Brad King
a38d51bf3f Merge topic 'CheckIPOSupported-doc-cuda'
2048b60f53 CheckIPOSupported: Document support for CUDA

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10191
2025-01-18 09:40:27 -05:00
Brad King
6a3db56d64 Merge topic 'lcc-updates-2025-01'
a438a0460a ArgumentParserTypes: implement a workaround for EDG 6 assertion failure
d3edb67134 Tests: disable some tests on Alt Linux due to rpm config
68d730bcff Tests: switch off some RunCMake tests for broken libc on e2k
488de6294a CPack: correctly perform querytags on old versions of RPM

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10174
2025-01-18 09:36:05 -05:00
Peter Kokot
fb4d5f34fd CMakePrintHelpers: Enhance documentation
- Commands listed in the usual docs style
- Examples moved to a separate section after the signatures and output
  example added for the target properties
2025-01-18 11:02:12 +01:00
Charlie Savage
61c3718a00 FindRuby: Use find_program VALIDATOR
Avoid caching an unsuitable version of `Ruby_EXECUTABLE`.
2025-01-17 18:02:34 -05:00
Charlie Savage
e891159657 FindRuby: Clarify search process comments and conditions 2025-01-17 17:05:47 -05:00
Charlie Savage
9f0b3e90b6 FindRuby: Remove unused variable 2025-01-17 17:05:47 -05:00
Brad King
e184dda2da FindRuby: Query Ruby_EXECUTABLE again if it changes 2025-01-17 17:05:47 -05:00
Peter Kokot
2048b60f53 CheckIPOSupported: Document support for CUDA
Support was added for CMake 3.25 by commit 96bc59b1ca (CUDA: Add Device
LTO support for nvcc, 2022-04-22, v3.25.0-rc1~359^2).  While at it:

- Adjust the note about the required policy.
- Document which languages are checked when the LANGUAGES
  option is not specified.
2025-01-17 15:00:06 -05:00
Alaa Mahran
fc163f9e43 Tasking: Add support for ASM through the cctc compiler driver
The Tasking ASM information module was added by commit 94df5b6ef1
(Tasking: Add support for several compiler toolsets, 2022-07-20,
v3.25.0-rc1~133^2).  However, it appears to have been left from pattern
following and did not actually work with the Tasking assembler.
Update it to work when running the assembler through the compiler
driver `cctc`, which supports extensions `.asm` and `.src`.

Fixes: #26425
2025-01-17 14:44:01 -05:00
Alaa Mahran
942f0d119b Tasking: Add identification for the tasking assembler
Issue: #26425
2025-01-17 14:42:56 -05:00