Commit Graph

68793 Commits

Author SHA1 Message Date
Brad King
08f1cae4e8 clang-format: Enforce "east const" qualifier placement
Issue: #26123
2025-01-23 11:48:37 -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
c03bab9610 Empty commit at end of history preceding clang-format-18 style transition
This is an empty commit that precedes an automatic application of
clang-format-18 to update the C++ style of our entire source tree.
This may be helpful to rebase a topic branch that was originally
based on a commit preceding the transition.  One may first rebase
the topic on this commit.  Then use one of the following approaches.

*   Rewrite the topic, including this commit, using `git filter-branch`
    `--tree-filter` with `clang-format.bash` to update the style in
    every commit.  Rebase the revised topic, excluding the rewrite of
    this commit, on the style transition commit.

OR

*   Add a `.git/info/grafts` entry to change the parent of the first
    commit in the topic from this commit to the style transition commit.
    Rewrite the topic using `git filter-branch --tree-filter` with
    `clang-format.bash` to update the style in every commit.  Then
    remove the graft, which was resolved by the filter.

See `git help filter-branch` and `git help repository-layout` for
details.
2025-01-23 11:42:58 -05:00
Brad King
e641442149 clang-format.bash: update to clang-format-18
The `.clang-format` configuration needs no changes to make the
version 18 format close to what version 15 produced before.

Issue: #26123
2025-01-23 11:42:52 -05:00
Brad King
17255e48af Merge branch 'release-3.31' 2025-01-23 10:40:59 -05:00
Brad King
e2a0790be5 Merge branch 'release-3.30' 2025-01-23 10:40:41 -05:00
Brad King
ba5aaa73ba Merge branch 'release-3.30' into release-3.31 2025-01-23 10:40:25 -05:00
Brad King
d437178a10 CMake 3.30.7 2025-01-23 09:59:38 -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
Brad King
5b69a459e2 Merge topic 'ci-iar'
737e9f0647 ci: Update to IAR bxarm 9.60.3

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10218
2025-01-23 09:32:56 -05:00
Brad King
f66eee89d1 Merge topic 'update-kwsys'
4cd8b15c8d Merge branch 'upstream-KWSys' into update-kwsys
d6d1695d89 KWSys 2025-01-22 (22ffdf26)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10215
2025-01-23 09:31:15 -05:00
Brad King
e7c7b86007 Merge topic 'patch-check-cxx-compiler-flag-typo'
f416449664 CheckCXXCompilerFlag: Fix typo in argument

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10217
2025-01-23 09:29:52 -05:00
Kitware Robot
f2082cc660 CMake Nightly Date Stamp 2025-01-23 00:07:32 -05:00
Brad King
737e9f0647 ci: Update to IAR bxarm 9.60.3
Run `.gitlab/ci/repackage/iar.ps1` with the installer and host the
package archives ourselves.
2025-01-22 14:15:11 -05:00
Peter Kokot
f416449664
CheckCXXCompilerFlag: Fix typo in argument 2025-01-22 18:24:13 +01:00
Brad King
4cd8b15c8d Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2025-01-22 (22ffdf26)
2025-01-22 11:12:29 -05:00
KWSys Upstream
d6d1695d89 KWSys 2025-01-22 (22ffdf26)
Code extracted from:

    https://gitlab.kitware.com/utils/kwsys.git

at commit 22ffdf26989e08367b722087a7f126ce23eb8e2f (master).

Upstream Shortlog
-----------------

Tom Stellard (1):
      e1aeb61e SystemInformation: Fix GetNumberOfLogicalCPU on s390x
2025-01-22 11:12:28 -05:00
Brad King
77f71ad4e2 Remove compatibility with CMake versions older than 3.5
This compatibility has been deprecated since commit 3a4791548d
(Deprecate compatibility with CMake versions older than 3.5, 2023-02-09,
v3.27.0-rc1~508^2).  The behavior itself has been deprecated
since CMake 3.5.

Issue: #26613
2025-01-22 10:40:55 -05:00
Brad King
fb1bd1d330 CMP0065: Remove support for OLD behavior 2025-01-22 10:40:55 -05:00
Brad King
d9dd38cccf CMP0064: Remove support for OLD behavior 2025-01-22 10:40:55 -05:00
Brad King
d88047c329 Remove compatibility with CMake versions older than 3.3
This compatibility has been deprecated since commit 3a4791548d
(Deprecate compatibility with CMake versions older than 3.5, 2023-02-09,
v3.27.0-rc1~508^2).  The behavior itself has been deprecated
since CMake 3.3.

Issue: #26613
2025-01-22 10:40:54 -05:00
Brad King
ac1a9cb160 CMP0063: Remove support for OLD behavior 2025-01-22 10:40:54 -05:00
Brad King
36fffb673a CMP0062: Remove support for OLD behavior 2025-01-22 10:40:54 -05:00
Brad King
789a7d73d4 CMP0061: Remove support for OLD behavior 2025-01-22 10:40:54 -05:00
Brad King
3dc19e24cb CMP0060: Remove support for OLD behavior 2025-01-22 10:40:54 -05:00
Brad King
1393fbf13f CMP0059: Remove support for OLD behavior 2025-01-22 10:40:54 -05:00
Brad King
8f9f01b24d CMP0058: Remove support for OLD behavior 2025-01-22 10:40:53 -05:00
Brad King
c283aafe62 CMP0057: Remove support for OLD behavior 2025-01-22 10:40:53 -05:00
Brad King
2cf04f3034 Source: Include BundleUtilities from running cmake at install time
Since commit 249a9bb44d (cmake-gui: use BundleUtilities in place of
custom script., 2010-10-14, v2.8.4~299^2) our install scripts include
the `BundleUtilities` module from our own source, rather than from the
`cmake` that's running at install time.  We've now long required a
`cmake` version high enough to have the `BundleUtilities` we need.
Avoid including a `BundleUtilities` that may be newer than the running
`cmake` understands.
2025-01-22 10:40:53 -05:00
Brad King
10cfc8f538 Merge topic 'extern-domain'
e109307c43 Add support for foreign targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10171
2025-01-22 09:30:49 -05:00
Brad King
14ad7ad522 Merge branch 'release-3.31' 2025-01-22 09:28:12 -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
90ba5db330 Merge topic 'iar-find-linker' into release-3.31
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:10 -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
Brad King
1828074ad7 Merge topic 'ctest-extra-submit'
9204721eda Help: Clarify 'ctest --extra-submit'
e7a90d0551 Help: Document CTEST_EXTRA_SUBMIT_FILES variable
123e002168 Help: Document CTEST_NOTES_FILES variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10212
2025-01-22 09:23:00 -05:00
Brad King
1d2c5ed8e4 Merge topic 'ci-macos-assertions'
b58b224e42 ci: Enable libc++ hardening in CMake build jobs on macOS
8a38a90e2e ci: Enable assertions in CMake build jobs on macOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10213
2025-01-22 09:21:46 -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
Brad King
d11552c2d9 codespell: Exclude paths by patterns following pre-commit check conventions
In order to share `.codespellrc` between our CI checks and `pre-commit`
checks, we need to match paths without the leading `./`.  Convert to a
`bash` script so we can use `dotglob` to pass paths explicitly.

Unfortunately this means we can no longer run `codespell` manually with
no arguments.  Instead we can run `.gitlab/ci/codespell.bash`.
2025-01-22 08:51:45 -05:00
Brad King
11d0a631d4 codespell: Split multi-valued configuration across multiple lines
The `codespell` implementation cleans up newlines and whitespace
before splitting comma-separated lists.

Also drop an unused entry.
2025-01-22 08:51:44 -05:00
Brad King
54dfadaf5a ci: Rename "codespell" job to more general name "spellcheck" 2025-01-22 08:51:44 -05:00
Brad King
17fc94e5e3 ci: Add typos 1.29.4 to Fedora base image 2025-01-22 08:51:44 -05:00
Brad King
ddf8220572 ci: Use Fedora 41 default flang package now that it is new enough
In commit fff8e3f6f3 (ci: Rebuild Fedora 41 image with updates,
2024-11-11, v3.31.1~20^2) we specified an exact version of the `flang`
package to update beyond the default at the time.  Revert that now that
the default is newer.
2025-01-22 08:51:44 -05:00
Brad King
1e2d19ea4f gitignore: Tell tools honoring .gitignore to ignore .git too 2025-01-22 08:51:44 -05:00
Brad King
0d0a94bcfb Tests: Fix Fortran syntax for initialized variable
LFortran 0.44 errors without the `::`.
2025-01-22 08:51:44 -05:00
Kitware Robot
a5c0f1e51e CMake Nightly Date Stamp 2025-01-22 00:06:28 -05:00
Brad King
b58b224e42 ci: Enable libc++ hardening in CMake build jobs on macOS
This may help catch out-of-bounds container access and similar bugs.
2025-01-21 16:00:23 -05:00
Brad King
8a38a90e2e ci: Enable assertions in CMake build jobs on macOS
We did this previously on Linux and Windows:

* commit 45feab3c00 (gitlab-ci: enable assertions on fedora34-ninja jobs,
                     2022-01-31, v3.23.0-rc1~37^2)
* commit bec34592a6 (ci: Enable assertions in CMake build job on Windows,
                     2024-12-19)

The macOS build jobs were already building the `Release` configuration
by default.  Make it explicit to be sure we use these flags.
2025-01-21 16:00:23 -05:00
Vito Gamberini
e109307c43
Add support for foreign targets 2025-01-21 15:26:40 -05:00