Commit Graph

61948 Commits

Author SHA1 Message Date
Orkun Tokdemir
08d49cfee6 Autogen: Add AUTOMOC test /w file(Generate)
Fixes: #20382
2023-05-19 16:28:51 +02:00
Brad King
9a7ce875c8 Merge topic 'doc-skip-linting'
652a785311 Help: Wording, formatting and ordering fixes for SKIP_LINTING docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8493
2023-05-19 08:51:31 -04:00
Brad King
779f704c25 Merge topic 'doc-PRE_BUILD'
949dcdb3bc Help: Clarify PRE_BUILD option for add_custom_command()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8494
2023-05-19 08:50:44 -04:00
Brad King
f1438379c2 Merge topic 'test-bootstrap'
80181da866 Tests: Add option to control timeout of BootstrapTest
21df34b255 Tests: Modernize name of option to control existence of BootstrapTest

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8491
2023-05-19 08:46:23 -04:00
Brad King
9939f606a6 Merge topic 'cxxmodules-private-between-targets'
d38779df2a ci: Enable RunCMake.CXXModules collation cases in clang jobs
69e4525241 Tests/CXXModules: add example for private modules between targets
18f87c87f8 cmCxxModuleMapper: track whether modules are private or not
56f7d6f827 cmCxxModuleMapper: add a structure to represent BMI locations
8207a3a266 cmDyndepCollation: add a query for visibility of an object's modules
e8efcbec8c iwyu: ignore `std::remove_reference` requirements

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8476
2023-05-19 08:35:17 -04:00
Brad King
a60ce4e5f4 Merge topic 'vs-cxxmodules'
51c343b788 ci: Enable C++20 module testing with VS 2022 on ARM64
406a103318 VS: Add support for C++ module internal partitions in VS 17.6 and newer

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8471
2023-05-19 08:33:20 -04:00
Kitware Robot
685eba4dd9 CMake Nightly Date Stamp 2023-05-19 00:01:12 -04:00
Craig Scott
949dcdb3bc Help: Clarify PRE_BUILD option for add_custom_command()
Fixes: #24889
2023-05-19 12:40:36 +10:00
Craig Scott
652a785311 Help: Wording, formatting and ordering fixes for SKIP_LINTING docs
Amends b480315e0c (TargetGenerator: Add SKIP_LINTING source property,
2023-05-12).
2023-05-19 12:29:06 +10:00
Brad King
5056a224dc Merge branch 'release-3.26' 2023-05-18 14:34:22 -04:00
Brad King
0926ed1f69 CMake 3.26.4 v3.26.4 2023-05-18 13:49:44 -04:00
Brad King
80181da866 Tests: Add option to control timeout of BootstrapTest 2023-05-18 13:42:42 -04:00
Brad King
21df34b255 Tests: Modernize name of option to control existence of BootstrapTest 2023-05-18 13:41:31 -04:00
Brad King
4d5c32fa2c Merge topic 'skip-linting'
775c369420 Autogen: set SKIP_LINTING ON for generated files
b480315e0c TargetGenerator: Add SKIP_LINTING source property
993dde925f TargetGenerator: Factor out generation of code check rules
023af4ab2f Improve Const Correctness

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8467
2023-05-18 09:24:17 -04:00
Brad King
b6c45d28b2 Merge topic 'clang_cxx26'
0183956d30 Clang: C++26 support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8480
2023-05-18 09:22:02 -04:00
Brad King
fed7b2f20e Merge topic 'iar-add-support-avr-8101'
7cd982faf4 IAR: Added support for IAR C/C++ Compiler for Microchip AVR 8.10+

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8481
2023-05-18 09:21:01 -04:00
Brad King
0897d4438f Merge branch 'release-3.26' 2023-05-18 09:19:20 -04:00
Brad King
442ca1a59c Merge topic 'FindPython-fix-launcher-typo'
31faf3945f FindPython: fix interpreter launcher variable spelling

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8487
2023-05-18 09:19:20 -04:00
Brad King
5855153cec Merge topic 'FindPython-fix-launcher-typo' into release-3.26
31faf3945f FindPython: fix interpreter launcher variable spelling

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8487
2023-05-18 09:19:19 -04:00
Brad King
51c343b788 ci: Enable C++20 module testing with VS 2022 on ARM64 2023-05-18 09:15:14 -04:00
Brad King
d38779df2a ci: Enable RunCMake.CXXModules collation cases in clang jobs
Since commit 069a32b03c (Tests/RunCMake/CXXModules: split out
collation-requiring tests, 2022-11-28, v3.26.0-rc1~243^2~4)
these cases require explicit configuration.
2023-05-18 08:44:23 -04:00
Ben Boeckel
69e4525241 Tests/CXXModules: add example for private modules between targets
Adapted from the example in issue #24652 by Ivan Garramona.
2023-05-18 08:34:31 -04:00
Ben Boeckel
18f87c87f8 cmCxxModuleMapper: track whether modules are private or not
This allows collation to give a useful error message when it finds usage
of a private module rather than collation just not informing the
compilation and the compiler erroring out about not being able to import
unknown modules (which exists, but it was not told about due to
visibility).

Fixes: #24652
2023-05-18 08:34:31 -04:00
Ben Boeckel
56f7d6f827 cmCxxModuleMapper: add a structure to represent BMI locations
This structure allows representing whether a module is private in order
to give a more useful error message when its usage is attempted from
another target.
2023-05-18 08:32:07 -04:00
Kitware Robot
5591f8dbec CMake Nightly Date Stamp 2023-05-18 00:01:19 -04:00
Brad King
406a103318 VS: Add support for C++ module internal partitions in VS 17.6 and newer
VS 17.6 now implements `ScanSourceforModuleDependencies` using the same
`cl /scanDependencies` scanner that our Ninja generator uses.  It can
distinguish module internal partitions from module interface units based
on their content.  Switch from `CompileAsCppModule` to `CompileAsCpp`
for `CXX_MODULES` sources so that MSBuild can scan and classify them.
2023-05-17 11:59:24 -04:00
Brad King
d9641980d2 Merge topic 'ci-clang-tidy-headers'
f24c6ae5b8 ci: Add nlohmann-json to Fedora base image
30e4be0d1b ci: Use distro packaged clang-tidy headers in Fedora base image

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Merge-request: !8488
2023-05-17 11:56:18 -04:00
Brad King
bf988cdf50 Merge topic 'ci-msvc-14.36'
888a9c49ff gitlab-ci: Update Windows builds to MSVC 14.36 toolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8484
2023-05-17 11:55:12 -04:00
Brad King
7fedf3fc92 Merge topic 'ci-xcode-14.3'
735a1590a2 gitlab-ci: update macOS jobs to use Xcode 14.3

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8482
2023-05-17 11:53:52 -04:00
Brad King
f24c6ae5b8 ci: Add nlohmann-json to Fedora base image
We need version 3.11.2 or higher, which Debian 10 does not package,
so leave it out of the Debian base images.
2023-05-17 09:50:24 -04:00
Brad King
30e4be0d1b ci: Use distro packaged clang-tidy headers in Fedora base image
Since commit 703f39354e (ci: add clang-tidy development headers to
Fedora base image, 2022-08-31, v3.25.0-rc1~215^2), Fedora has added the
`clang-tools-extra-devel` package.
2023-05-17 09:50:17 -04:00
Ben Boeckel
31faf3945f FindPython: fix interpreter launcher variable spelling
Reported-by: Johannes (#cmake Slack)
2023-05-17 07:02:07 -04:00
Kitware Robot
0383bb7ffa CMake Nightly Date Stamp 2023-05-17 00:01:16 -04:00
Brad King
888a9c49ff gitlab-ci: Update Windows builds to MSVC 14.36 toolset 2023-05-16 14:53:01 -04:00
Felipe Torrezan
7cd982faf4 IAR: Added support for IAR C/C++ Compiler for Microchip AVR 8.10+
- Added C17 support
- Added C++17 support
- Changed: IAR UBROF Linker (XLINK) suffixed with target architecture (xlinkavr)
2023-05-16 20:08:01 +02:00
Brad King
735a1590a2 gitlab-ci: update macOS jobs to use Xcode 14.3 2023-05-16 11:03:45 -04:00
Orkun Tokdemir
775c369420 Autogen: set SKIP_LINTING ON for generated files
Fixes: #19772
2023-05-16 10:56:25 -04:00
Orkun Tokdemir
b480315e0c TargetGenerator: Add SKIP_LINTING source property
The `SKIP_LINTING` source property was added to disable code check for
desired source files. The `SKIP_LINTING`includes `cpplint`, `clang-tidy`, \
`cppcheck` and `include-what-you-use`. If `SKIP_LINTING` is set on a
source file, the tools mentioned above will not be run on that source file.
2023-05-16 10:47:56 -04:00
Orkun Tokdemir
993dde925f TargetGenerator: Factor out generation of code check rules
De-duplicate code check rule generation in Ninja and Makefile generators
by moving their implementation to `cmCommonTargetGenerator`.

Previously Ninja was generating code check rules per language.
It was changed to generate code check rules for each source file.
2023-05-16 10:46:35 -04:00
Brad King
ee0a157755 Merge topic 'test-xcode'
a4d114e8cd Tests: Split some RunCMake.XcodeProject cases into a separate test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8478
2023-05-16 10:45:03 -04:00
Brad King
20c7219f8f Merge topic 'iar-align-output-extension'
cfec4c1c5e IAR: Enforce output extension for xlink targets
7fec8f993b IAR: Replace extension for compiler and assembler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8477
2023-05-16 10:44:23 -04:00
Brad King
76cc81f0fe Merge topic 'help-system-framework'
99f8505fda Help: Update SYSTEM oriented target properties for Apple Frameworks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8475
2023-05-16 10:43:38 -04:00
Brad King
021117951f Merge branch 'release-3.26' 2023-05-16 10:40:09 -04:00
Brad King
a59b35ba33 Merge topic 'msvc-wine-showIncludes'
fb3c4715cd Ninja: Restore detection of msvc-wine showIncludes prefix

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: huangqinjin <huangqinjin@gmail.com>
Merge-request: !8479
2023-05-16 10:40:09 -04:00
Brad King
37f06fad18 Merge topic 'msvc-wine-showIncludes' into release-3.26
fb3c4715cd Ninja: Restore detection of msvc-wine showIncludes prefix

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: huangqinjin <huangqinjin@gmail.com>
Merge-request: !8479
2023-05-16 10:40:07 -04:00
Raul Tambre
0183956d30 Clang: C++26 support
Added in LLVM commit b763d6a4ed4650c74c6846d743156468563b0e31.
This time the final flag form is supported from the get-go to reduce churn.
2023-05-16 09:51:07 +03:00
Kitware Robot
0cae3228b8 CMake Nightly Date Stamp 2023-05-16 00:01:08 -04:00
Ben Boeckel
8207a3a266 cmDyndepCollation: add a query for visibility of an object's modules
This will be used to hide private modules from the view of consuming
targets.
2023-05-15 22:26:36 -04:00
Ben Boeckel
e8efcbec8c iwyu: ignore std::remove_reference requirements
This removes some includes from some existing files.
2023-05-15 22:26:36 -04:00
Brad King
fb3c4715cd Ninja: Restore detection of msvc-wine showIncludes prefix
Since commit 8f82e755f3 (Ninja: Fix detection of MSVC showIncludes
prefix in Italian, 2023-01-26, v3.26.0-rc1~20^2) our regex no longer
matches the output from `msvc-wine`, which uses forward slashes:

    Note: including file: /path/to/foo.h

`cl /showIncludes` under Wine prints paths of the form `Z:\path\to\file`,
but the `msvc-wine` wrapper converts them to the form `/path/to/file` so
that native Ninja can be used.  Update our regex to match the prefix
followed by a path with a leading forward slash.

Fixes: #24908
2023-05-15 15:34:55 -04:00