Commit Graph

9782 Commits

Author SHA1 Message Date
Brad King f3bb1c8d7f Merge topic 'flang-implicit-link-info' into release-3.25
0301779e85 LLVMFlang: Add support for mixed-language linking with Fortran

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7781
2022-10-12 09:17:47 -04:00
Brad King 0301779e85 LLVMFlang: Add support for mixed-language linking with Fortran
Parse implicit link information for this compiler to support
mixed-language linking.  This was missed by commit 85749766df
(LLVMFlang: Add support for LLVM Flang, 2021-07-07, v3.24.0-rc1~86^2).
Also activate mixed-language test cases that would have caught this.

Issue: #22387
2022-10-11 15:38:48 -04:00
Brad King 2905210999 Merge topic 'test-RunCMake.install'
e73470991f Tests: Loosen RunCMake.install directory symlink expected output

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7775
2022-10-11 09:52:33 -04:00
Brad King 4507237960 Merge topic 'verify-header-sets-iwyu'
6942234bf5 VERIFY_INTERFACE_HEADER_SETS: Add IWYU pragma: associated to verification file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7762
2022-10-10 10:21:09 -04:00
Brad King 1fea40c85a Merge topic 'cuda_sanitizer_false_positives'
59fcbba65e ctest_memcheck: ignore false-positives in CUDA's compute-sanitizer

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7760
2022-10-10 10:19:56 -04:00
Brad King e73470991f Tests: Loosen RunCMake.install directory symlink expected output
The case added by commit 85f01a1ec2 (file(INSTALL): Improve formatting
of symlink creation error, 2022-10-06) may print `Up-to-date:` or
`Installing:` for the file inside a symlinked directory based on
filesystem timestamp granularity.  Since that output is not what the
test intends to cover, simply accept either possibility.
2022-10-10 09:55:43 -04:00
Brad King 1912d50a70 Tests: Run CheckSourceTree test using just-built CMake
Update the change from commit 8d453ee751 (Tests: Improve CheckSourceTree
test, 2022-10-05) to drive the test script using the tested CMake
instead of the host CMake, following the convention of other tests.
2022-10-08 07:07:59 -04:00
Daniel Hannon 6942234bf5 VERIFY_INTERFACE_HEADER_SETS: Add IWYU pragma: associated to verification file 2022-10-07 19:00:28 +01:00
Tobias Ribizel 59fcbba65e ctest_memcheck: ignore false-positives in CUDA's compute-sanitizer
Add a list of false-positive messages from CUDA's compute-sanitizer to
the CTest memcheck.

Fixes: #24001
2022-10-07 11:36:12 -04:00
Brad King a07be2ffd1 Merge topic 'clang-tidy-prefer-p-option'
3f4e0839c4 clang-tidy: Don't append compiler commands if using -p

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7753
2022-10-07 11:20:03 -04:00
Brad King 5f9994a6c1 Merge topic 'improve-symlink-error-reporting'
569fb1893e file(INSTALL): Report "Installing:" for a symlink to a directory
1461ae4933 file(INSTALL): Clarify symlink vs dir conflict errors
85f01a1ec2 file(INSTALL): Improve formatting of symlink creation error
aba48bd6ac cmSystemTools: Provide quiet link creation methods

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7706
2022-10-07 10:47:23 -04:00
Craig Scott 3f4e0839c4 clang-tidy: Don't append compiler commands if using -p
When the -p option is given to clang-tidy, it doesn't need the compile
command line to be appended. It can get everything it needs from the
compile_commands.json file in the directory specified with the -p option.
When the compiler being used is not the system default compiler,
clang-tidy has been observed to pick up the wrong headers when the
compiler command line is given, but not if only the -p option is used.
Therefore, don't append the compiler command line if -p is present in
the <LANG>_CLANG_TIDY target property.

Fixes: #24017
2022-10-07 10:33:32 -04:00
Brad King 6d65e8a5ab Merge topic 'automoc-skip-pch'
681714ce20 AUTOMOC: Skip PCH when all sources files skip the PCH file too

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7759
2022-10-07 10:17:26 -04:00
Cristian Adam 681714ce20 AUTOMOC: Skip PCH when all sources files skip the PCH file too
Fixes: #23464
2022-10-06 22:12:22 +02:00
John Parent 569fb1893e file(INSTALL): Report "Installing:" for a symlink to a directory 2022-10-06 15:10:23 -04:00
John Parent 1461ae4933 file(INSTALL): Clarify symlink vs dir conflict errors
Clarify error reporting in scenario creating a symlink where a directory
previously exists.
2022-10-06 15:10:05 -04:00
Brad King 85f01a1ec2 file(INSTALL): Improve formatting of symlink creation error
Avoid printing two error messages.  Format paths without wrapping.
2022-10-06 15:08:06 -04:00
Brad King 90aa0bb305 Tests: Move TryCompile check module cases to RunCMake.Check*
The latter already have similar checks for similar modules.
2022-10-06 10:29:42 -04:00
Brad King 64ac01451d Tests: Clarify RunCMake.Check* case names
Cases for `CheckSource{Compiles,Runs}` and `Check{Compiler,Linker}Flag`
cover the modules with the language as a parameter, not the
language-specific modules.
2022-10-06 10:29:42 -04:00
Brad King 2133cf2c8e Merge topic 'try_compile-more-debug-logging'
7e6b2a92a0 try_compile: Report build dir with --debug-trycompile
cbf3252975 Tests: Remove stray debugging flag from RunCMake.CheckCompilerFlag case

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7746
2022-10-06 08:45:25 -04:00
Matthew Woehlke 7e6b2a92a0 try_compile: Report build dir with --debug-trycompile
When `--debug-trycompile` is enabled, issue a log (with trace) for every
`try_compile` noting what directory is being used for the compilation.
This will make it easier to find the corresponding artifacts.

Closes: #24022
2022-10-06 08:13:03 -04:00
Brad King 8d453ee751 Tests: Improve CheckSourceTree test
Re-implement the test using simpler approach.  Enable it only when doing
an out-of-source build with a `.git` source.  Run it last, serially.
Re-use the `git` tool found for version computation.  Print the output
from `git status` without modification.  Rely on `.gitignore` instead
of filtering out paths ourselves.
2022-10-05 12:38:12 -04:00
Brad King cbf3252975 Tests: Remove stray debugging flag from RunCMake.CheckCompilerFlag case 2022-10-05 09:53:17 -04:00
Brad King 5fec2ea078 Merge topic 'ci-intel-compiler'
f391c1c269 gitlab-ci: add jobs testing Intel 2022.2.0 compilers on Linux
29e45a94b0 Tests: Teach RunCMake to ignore Intel Classic compiler deprecation warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7742
2022-10-04 10:32:26 -04:00
Brad King 70234f91b3 Merge topic 'xcode-ios-objects'
25630863ea Tests: Add case covering XCODE_EMIT_EFFECTIVE_PLATFORM_NAME=OFF for iOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7740
2022-10-04 10:29:54 -04:00
Brad King 7bea75f1fa Merge topic 'try_compile-rename-source_from_arg'
0f28653ba9 try_compile: Rename SOURCE_FROM_ARG -> SOURCE_FROM_CONTENT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7733
2022-10-04 10:26:34 -04:00
Brad King 29e45a94b0 Tests: Teach RunCMake to ignore Intel Classic compiler deprecation warnings 2022-10-03 17:51:11 -04:00
Brad King 25630863ea Tests: Add case covering XCODE_EMIT_EFFECTIVE_PLATFORM_NAME=OFF for iOS
This use case was fixed by commit a7fb4bc475 (Xcode: Set build product
locations using CONFIGURATION_BUILD_DIR, 2022-09-28).  Add a test to
verify the fix.

Fixes: #23970
2022-10-03 12:41:59 -04:00
Brad King 42c0428e5f Merge topic 'ci-xcode-14.0'
9cdf4c9be4 gitlab-ci: update macOS jobs to use Xcode 14.0
5d2c2b2558 Tests: Update RunCMake.XcodeProject iOS cases for Xcode 14.0
12c6fec6b4 Xcode: Drop CMAKE_INTDIR= definition in Swift targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7732
2022-10-03 10:31:27 -04:00
Matthew Woehlke 0f28653ba9 try_compile: Rename SOURCE_FROM_ARG -> SOURCE_FROM_CONTENT
Change the SOURCE_FROM_ARG keyword to try_compile to SOURCE_FROM_CONTENT
(which we can do because it was recently added and hasn't been in a
release yet). The new name should be clearer as to what it does, and
also more consistent with the CONTENT arguments to some other commands.

Also, fix a typo in an error message.
2022-09-30 14:50:25 -04:00
Brad King 5d2c2b2558 Tests: Update RunCMake.XcodeProject iOS cases for Xcode 14.0
Issue: #24011
2022-09-30 13:08:05 -04:00
Brad King c7170651f4 Merge topic 'xcode-build-layout'
d0a6ebf57b Xcode: Fix "clean" operation under the "new build system"
dc5fc898f6 Xcode: Set object file locations using TARGET_TEMP_DIR
a7fb4bc475 Xcode: Set build product locations using CONFIGURATION_BUILD_DIR
6883b82124 cmGlobalXCodeGenerator: Remove unused local variable settings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7730
2022-09-30 07:24:48 -04:00
Brad King d0a6ebf57b Xcode: Fix "clean" operation under the "new build system"
Previously we set `SYMROOT` to tell Xcode where to place the build
products.  However, the "clean" operation in the Xcode "new build
system" expects that only Xcode creates the `SYMROOT` directory or
contents inside it.  Since we create that directory, "clean" fails.

We now explicitly set `CONFIGURATION_BUILD_DIR` and `TARGET_TEMP_DIR`
instead of letting Xcode compute their values from `SYMROOT`, so we no
longer need to set the latter.  Drop the now-unnecessary `SYMROOT`.

Fixes: #22550
2022-09-29 15:04:08 -04:00
Brad King 586c2ab4f1 Tests: Test more CMakeTest*Compiler.cmake fallbacks
Extend the test added by commit f891a75d5c (Tests: Test
CMakeTest*Compiler.cmake fallbacks, 2022-09-27) to cover more languages.
2022-09-29 09:26:23 -04:00
Brad King cadcb6a5f0 Merge topic 'try_compile-no-cache'
09b3051524 try_compile: Add NO_CACHE option (also try_run)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7723
2022-09-29 07:59:02 -04:00
Brad King 9c9c7d68cb Merge topic 'compiler-tests'
f891a75d5c Tests: Test CMakeTest*Compiler.cmake fallbacks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7722
2022-09-29 07:50:54 -04:00
Matthew Woehlke 09b3051524 try_compile: Add NO_CACHE option (also try_run)
Add NO_CACHE option to try_compile and try_run, which places the results
in regular, rather than cache, variables.

Issue: #22799
2022-09-28 13:41:11 -04:00
Brad King 43a0206dad Merge topic 'vs11-deprecate'
6c1337cb79 Deprecate Visual Studio 11 2012 generator
5faf145a5b Tests: Drop unused files from RunCMake.CommandLine

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7720
2022-09-28 10:40:32 -04:00
Brad King b9968f3006 Merge topic 'cmake-presets-workflow'
374d82bbcd cmake: Add --workflow mode
e316812884 CMakePresets.json: Add workflow presets to schema

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7711
2022-09-28 10:38:41 -04:00
Matthew Woehlke f891a75d5c Tests: Test CMakeTest*Compiler.cmake fallbacks
Add tests that explicitly test the fallback tests of the modules which
test for a functional [Obj]C[xx] compiler, bypassing the ABI tests.
Due to the ABI test short-circuiting added by commit 1d21dd0f7c
(enable_language: Assume compiler works if ABI detection compiles,
2020-05-25, v3.18.0-rc1~93^2), this logic is likely not getting tested
otherwise.
2022-09-28 10:27:31 -04:00
Brad King 6c1337cb79 Deprecate Visual Studio 11 2012 generator
Update documentation to mark the generator deprecated.  Add a warning at
the end of generation plus an option to turn off the warning.
2022-09-27 11:45:50 -04:00
Brad King 5faf145a5b Tests: Drop unused files from RunCMake.CommandLine
Remove files missed by commit 8d6f015d59 (Drop Visual Studio 10 2010
generator, 2022-09-26).
2022-09-27 11:45:29 -04:00
Kyle Edwards 374d82bbcd cmake: Add --workflow mode
Fixes: #23118
2022-09-27 11:09:06 -04:00
Brad King 164a156c7c Merge topic 'remove-vs10-generator'
8d6f015d59 Drop Visual Studio 10 2010 generator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7718
2022-09-27 10:32:11 -04:00
Brad King 50b668ddc8 Merge topic 'add_subdirectory_system'
2eb30a7036 add_subdirectory: Add SYSTEM option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7399
2022-09-27 10:28:49 -04:00
Brad King 120945587f Merge topic 'ctest_ninja_full_output'
65260d6c1e ctest: only report make-level errors when no others are found

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7710
2022-09-27 10:20:30 -04:00
Brad King 8d6f015d59 Drop Visual Studio 10 2010 generator
This generator has been deprecated since CMake 3.22.  Remove it.
2022-09-26 15:43:04 -04:00
Da Quexian 2eb30a7036 add_subdirectory: Add SYSTEM option
Fixes: #22401
Signed-off-by: Da Quexian <daquexian566@gmail.com>
2022-09-26 10:56:54 -04:00
Zack Galbreath 65260d6c1e ctest: only report make-level errors when no others are found
In commit ab9ad2a6a0 (ctest: report make-level errors to CDash when
using launchers, 2020-09-24, v3.19.0-rc1~84^2~1) we taught CTest to
capture and report errors from the build command when using launchers.

This had the unintended side effect of reporting a separate build error containing
the full build output when the build command returns non-zero. To fix this problem,
we now only report build command errors from CTest launchers when no other
more specific build errors are found.

Fixes: #23991
2022-09-26 09:40:58 -04:00
Brad King d497b06ee9 Merge topic 'cmake-presets-package-more-doc-fixes'
33b1338a92 Tests: Add test for --list-presets=all
4328deb618 Tests: Add test for cpack --list-presets
e909384062 Help: Add package preset to example presets file
16a24b0ab0 Help: List packagePresets field in cmake-presets.7

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7707
2022-09-26 09:38:54 -04:00