Commit Graph

61949 Commits

Author SHA1 Message Date
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
Brad King a4d114e8cd Tests: Split some RunCMake.XcodeProject cases into a separate test
The `RunCMake.XcodeProject` has many cases and occasionally fails
due to timeout.  Move iOS and other device-specific cases to a new
`RunCMake.XcodeProject-Device` test.
2023-05-15 10:18:54 -04:00
Kitware Robot bafb6e999d CMake Nightly Date Stamp 2023-05-15 00:01:21 -04:00
Marc Chevrier 99f8505fda Help: Update SYSTEM oriented target properties for Apple Frameworks
This is a complement to !8469.
2023-05-14 15:22:27 +02:00
Kitware Robot 13eae753ea CMake Nightly Date Stamp 2023-05-14 00:01:10 -04:00
Kitware Robot 7f64e9257a CMake Nightly Date Stamp 2023-05-13 00:01:09 -04:00
Orkun Tokdemir 023af4ab2f Improve Const Correctness 2023-05-12 16:09:38 +02:00
Brad King 4a1421efad Merge topic 'system-framework'
ad9020a899 Apple Frameworks: honor SYSTEM target property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8469
2023-05-12 09:26:56 -04:00
Joakim Lönnberg cfec4c1c5e IAR: Enforce output extension for xlink targets 2023-05-12 13:58:32 +02: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
Marc Chevrier ad9020a899 Apple Frameworks: honor SYSTEM target property
Fixes: #24109
2023-05-11 10:24:18 +02: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
Joakim Lönnberg 7fec8f993b IAR: Replace extension for compiler and assembler 2023-05-08 15:35:53 +02: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