Commit Graph

61892 Commits

Author SHA1 Message Date
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
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
Kitware Robot 2b08606511 CMake Nightly Date Stamp 2023-05-12 00:01:08 -04:00
Brad King c568a6bcf2 Merge topic 'ExternalProject-touch-echo'
3bf0830e44 ExternalProject: Avoid adding empty touch command on "ALWAYS" steps

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Craig Scott <craig.scott@crascit.com>
Merge-request: !8468
2023-05-11 10:07:02 -04:00
Brad King c30125f3ba Merge topic 'ci-macos-archs'
3a20a5f149 gitlab-ci: Move macOS+Xcode universal binaries job to arm64
5210b98ec2 gitlab-ci: Move macOS Ninja Multi-Config nightly job to arm64 architecture
3a9b8ef047 Tests: Teach ISPC tests to run on macOS arm64 host
6aae34ec53 Tests: Fix RunCMake.XcodeProject XcodeSchemaGeneration case on arm64

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8470
2023-05-11 10:05:19 -04:00
Kitware Robot 6c813f5129 CMake Nightly Date Stamp 2023-05-11 00:01:11 -04:00
Brad King 3a20a5f149 gitlab-ci: Move macOS+Xcode universal binaries job to arm64
Over time we are adding `arm64` hosts and removing `x86_64` hosts.
2023-05-10 10:13:01 -04:00
Brad King 5210b98ec2 gitlab-ci: Move macOS Ninja Multi-Config nightly job to arm64 architecture 2023-05-10 10:13:00 -04:00
Brad King 3a9b8ef047 Tests: Teach ISPC tests to run on macOS arm64 host 2023-05-10 10:04:48 -04:00
Brad King 6aae34ec53 Tests: Fix RunCMake.XcodeProject XcodeSchemaGeneration case on arm64
Explicitly specify the xcodebuild scheme destination architecture to
match the host.
2023-05-10 10:04:48 -04:00
Antonio Caggiano 3bf0830e44 ExternalProject: Avoid adding empty touch command on "ALWAYS" steps
The problem fixed by commit c0b749cf62 (ExternalProject: Always add a
command to a step, 2014-11-05, v3.2.0-rc1~402^2~3) may occur for an
empty `COMMAND ${touch}` too, so avoid specifying any `COMMAND` at all
if there is no touch command.
2023-05-10 09:56:31 -04:00
Brad King 25eddc2ef3 Merge topic 'ci-macos-archs'
03af1c52d6 gitlab-ci: Move some macOS merge request jobs to arm64 hosts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8465
2023-05-10 09:41:26 -04:00
Brad King 8383f44370 Merge topic 'ci-macos-package'
7eeca582ed gitlab-ci: Move macOS packaging jobs to arm64 hosts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8464
2023-05-10 09:40:10 -04:00
Brad King 043ce95abf Merge topic 'ci-ispc'
44d13f50a2 ci: Update to ISPC 1.20.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8466
2023-05-10 09:38:28 -04:00
Brad King 4490a0c266 Merge topic 'dankm/tcsuffix'
6a82852dc2 Allow toolchain suffix without leading dash

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !8462
2023-05-10 09:36:42 -04:00
Brad King aea92864a4 Merge topic 'ninja-fortran-include'
1f1894af1f Ninja: Fix Fortran INCLUDE directive dependencies when not preprocessing
9075ebda60 Ninja: Rename internal Fortran scanner flag from --pp= to --src=
266634bce5 Fortran: Teach lexer to recognize LLVMFlang preprocessor dependencies
efadf839be Tests: Teach RunCMake to ignore LLVMFlang -flang-experimental-exec warning
c78be340ba Tests: Teach RunCMake to ignore Intel Fortran remark 10440

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8461
2023-05-10 09:35:50 -04:00
Kitware Robot 65430031a6 CMake Nightly Date Stamp 2023-05-10 00:01:08 -04:00
Brad King 03af1c52d6 gitlab-ci: Move some macOS merge request jobs to arm64 hosts
Over time we are adding `arm64` hosts and removing `x86_64` hosts.
Switch to using `arm64` for some of the more common jobs.
2023-05-09 14:33:04 -04:00
Brad King 7eeca582ed gitlab-ci: Move macOS packaging jobs to arm64 hosts
Over time we are adding `arm64` hosts and removing `x86_64` hosts.
2023-05-09 14:32:24 -04:00
Brad King 44d13f50a2 ci: Update to ISPC 1.20.0 2023-05-09 14:26:55 -04:00
Brad King 24ed56e4ad Merge topic 'bootstrap-compiler-env-args'
db9af7e00c bootstrap: Add support for CXX containing flags
2ead798f1d bootstrap: Add support for CC containing flags
9a72fed7af bootstrap: Do not over-quote compiler variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8407
2023-05-09 10:03:45 -04:00
Brad King ccc1157f8f Merge topic 'clang_cxx23'
eacacc70fc Clang: use -std=c++23 for Clang 17.0+

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8460
2023-05-09 10:03:00 -04:00
Brad King 1f1894af1f Ninja: Fix Fortran INCLUDE directive dependencies when not preprocessing
Since commit b0a6161190 (Fortran: Add Fortran_PREPROCESS property,
2020-04-24, v3.18.0-rc1~116^2~3), if `Fortran_PREPROCESS` is `OFF`, the
Ninja generator does not properly detect dependencies on sources loaded
via the Fortran INCLUDE directive.  Fix this and add a test.
2023-05-09 09:56:42 -04:00
Brad King 9075ebda60 Ninja: Rename internal Fortran scanner flag from --pp= to --src=
The value represents the source file to be scanned.
It is not always preprocessor output.
2023-05-09 09:56:41 -04:00
Brad King 266634bce5 Fortran: Teach lexer to recognize LLVMFlang preprocessor dependencies
The line directives have the form `#line <path> <number>`, and do not
have the line number before the path as other compilers do.
2023-05-09 09:56:41 -04:00
Brad King efadf839be Tests: Teach RunCMake to ignore LLVMFlang -flang-experimental-exec warning
This flag is needed for now to tell `flang-new` to support creating
executables.  In our CI job we always pass this flag, but it is not
always used.  The compiler may warn:

    flang-new: warning: argument unused during compilation: '-flang-experimental-exec'

Teach RunCMake to drop such incidental lines before matching against
expected output.
2023-05-09 09:23:36 -04:00
Brad King c78be340ba Tests: Teach RunCMake to ignore Intel Fortran remark 10440
The Intel Fortran compiler may remark:

    ifx: remark #10440: Note that use of a debug option without any
    optimization-level option will turnoff most compiler optimizations
    similar to use of '-O0'

Teach RunCMake to drop such incidental lines before matching against
expected output.

This extends commit b2d030e8fe (Tests: Teach RunCMake to ignore Intel
-Rdebug-disables-optimization remarks, 2022-06-14, v3.26.0-rc1~395^2)
to cover the `ifx` Fortran compiler too.
2023-05-09 09:09:12 -04:00
Kitware Robot a2fba5967a CMake Nightly Date Stamp 2023-05-09 00:01:07 -04:00
Dan McGregor 6a82852dc2 Allow toolchain suffix without leading dash
FreeBSD installs both LLVM and gcc with tools named after the
major version, in the form "clang<major>", such as "clang16".

Detect compilers named this way, and find the related toolchain
tools.
2023-05-08 18:09:27 -06:00
Cory Fields db9af7e00c bootstrap: Add support for CXX containing flags
Rather than treating the user-provided CXX as a space-separated series of
compilers, treat it as a single command-line fragment which possibly
contains flags.
2023-05-08 17:25:59 -04:00
Cory Fields 2ead798f1d bootstrap: Add support for CC containing flags
Rather than treating the user-provided CC as a space-separated series of
compilers, treat it as a single command-line fragment which possibly
contains flags.
2023-05-08 17:25:55 -04:00
Cory Fields 9a72fed7af bootstrap: Do not over-quote compiler variables
They may contain flags.
2023-05-08 17:22:55 -04:00
Raul Tambre eacacc70fc Clang: use -std=c++23 for Clang 17.0+
Canonical flag changed in LLVM commit ba15d186e5cef2620d562c6c9d9a6d570382cd0a.
2023-05-08 20:26:39 +03:00
Kitware Robot b2d689bc5a CMake Nightly Date Stamp 2023-05-08 00:01:27 -04:00
Kitware Robot 39d8b92da1 CMake Nightly Date Stamp 2023-05-07 00:01:09 -04:00
Kitware Robot bab22a1171 CMake Nightly Date Stamp 2023-05-06 00:01:15 -04:00
Brad King 250f66acfe Merge topic 'ctest-timeout-zero'
0a5aeaf302 cmCTestRunTest: Consolidate test timeout selection logic
426e38cc10 cmCTestRunTest: Adopt decision for starting cmProcess timer
59336b29bd cmCTestRunTest: Remove unnecessary arguments to ForkProcess
07b5087ba7 Help: Document meaning of TIMEOUT test property with value 0
3edf7fbb41 ctest: Fix TIMEOUT test property with value 0 with --timeout flag
39a20a56dd Tests: Move `CTestTestZeroTimeout` into `RunCMake.CTestTimeout`
cd4038fe94 cmCTestTestHandler: Use in-class initialization of properties and results

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8455
2023-05-05 12:43:50 -04:00
Brad King 5924630e6d Merge topic 'compile-only-genex'
c42630ee62 cmGeneratorExpressionNode: implement `COMPILE_ONLY` genex
0fb923c460 cmGeneratorExpressionNode: implement `COMPILE_ONLY` genex

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8411
2023-05-05 12:42:23 -04:00
Brad King 2b5b09556c Merge topic 'CreateRulePlaceholderExpander-enhance-memory-management'
72faa9a017 CreateRulePlaceholderExpander(): enhance memory management

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8456
2023-05-05 12:36:26 -04:00
Brad King 9bcc70be31 Merge branch 'release-3.26' 2023-05-05 12:34:54 -04:00
Brad King 76940fecde Merge topic 'FindCUDAToolkit_more_library_root_detection'
587c0443cc FindCUDAToolkit: Support CUDA version extraction from version.json

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8451
2023-05-05 12:34:54 -04:00
Brad King 822aa26915 Merge topic 'FindCUDAToolkit_more_library_root_detection' into release-3.26
587c0443cc FindCUDAToolkit: Support CUDA version extraction from version.json

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8451
2023-05-05 12:34:52 -04:00
Kitware Robot 95e63aa748 CMake Nightly Date Stamp 2023-05-05 00:01:10 -04:00
Brad King 0a5aeaf302 cmCTestRunTest: Consolidate test timeout selection logic
Test timeout selection was previously spread out over several locations.
Consolidate it in a single place to make it easier to follow.
2023-05-04 17:11:19 -04:00
Brad King 426e38cc10 cmCTestRunTest: Adopt decision for starting cmProcess timer 2023-05-04 17:09:00 -04:00
Brad King 59336b29bd cmCTestRunTest: Remove unnecessary arguments to ForkProcess 2023-05-04 16:58:43 -04:00
Brad King 07b5087ba7 Help: Document meaning of TIMEOUT test property with value 0
Document the behavior added by commit 51bb493574 (Test TIMEOUT property
explicitly set to zero should be honored, 2011-01-03, v2.8.4~118^2).
2023-05-04 16:58:03 -04:00
Brad King 3edf7fbb41 ctest: Fix TIMEOUT test property with value 0 with --timeout flag
An explicit zero TIMEOUT test property value should not be overridden by
the `--timeout` flag.
2023-05-04 16:58:03 -04:00