Commit Graph

32175 Commits

Author SHA1 Message Date
Brad King edee7c18e8 Merge topic 'cuda-arch-native'
d1b48bfabd CUDA: Add support for CUDA_ARCHITECTURES=native
632752d62e CUDA: Add FIXME comments about deferring architecture testing
45e9ab0372 Tests: Rename CudaOnly.{All => ArchSpecial}

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7050
2022-03-11 08:53:25 -05:00
Kitware Robot d8f95471c7 CMake Nightly Date Stamp 2022-03-11 00:01:17 -05:00
John Parent 2f1ffa003c find_package: Add support for default GLOBAL imported targets
Allow find package to promote scope of imported targets by specifying
an argument to `find_package` or by specifying a CMake variable.
    * Add support for CMAKE_GLOBAL_IMPORT_SCOPE variable
    * Add support for GLOBAL argument to find_package

Additionally add testing for above features.
2022-03-10 12:44:36 -05:00
Brad King d1b48bfabd CUDA: Add support for CUDA_ARCHITECTURES=native
CUDA 11.6 added the `nvcc -arch=native` flag to automatically compile
for the host GPUs' architectures.  Add support for specifying this
special `native` value in `CMAKE_CUDA_ARCHITECTURES` and
`CUDA_ARCHITECTURES`.  During the compiler ABI detection step,
detect the native architectures so we can pass them explicitly
when using Clang or older versions of nvcc.

Fixes: #22375
2022-03-10 09:27:29 -05:00
Brad King 736e80dbca CMake 3.23.0-rc3 2022-03-10 09:11:13 -05:00
Brad King ab5baa32ad Merge topic 'ctest-WORKING_DIRECTORY'
a116fd413d ctest: print WORKING_DIRECTORY property with -V

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7060
2022-03-10 08:39:33 -05:00
Kitware Robot a90849d3ef CMake Nightly Date Stamp 2022-03-10 00:01:21 -05:00
Kevin Puetz a116fd413d ctest: print WORKING_DIRECTORY property with -V 2022-03-09 13:00:01 -06:00
Brad King cbd36eac23 Merge topic 'ctest_truncate'
140704d443 ctest: add option for output truncation
359e5b17d8 presets: bump version to v5
4634de335b cmCTestTestHandler: refactor CleanTestOutput method

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6993
2022-03-09 12:17:44 -05:00
Brad King 51e81d1f73 Merge topic 'color-diagnostics'
6ab9fbd43b color: Add tests for CMAKE_COLOR_DIAGNOSTICS
78adb1b952 color: Add CMAKE_COLOR_DIAGNOSTICS environment variable
884d9de8b7 color: Introduce CMAKE_COLOR_DIAGNOSTICS variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Frank Dana <ferdnyc@gmail.com>
Merge-request: !6990
2022-03-09 12:15:53 -05:00
Kitware Robot 8c852e4cd0 CMake Nightly Date Stamp 2022-03-09 00:01:15 -05:00
Semyon Kolton 884d9de8b7 color: Introduce CMAKE_COLOR_DIAGNOSTICS variable
Add a variable to control both makefile color messages and compiler
color diagnostics.

Fixes: #15502
2022-03-08 16:37:08 -05:00
Brad King 28f8b5cb0c Merge topic 'cmake-presets-file-dir'
f54507c2f6 CMakePresets.json: Add ${fileDir} macro

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Gerhard Olsson <gerhard.nospam@gmail.com>
Merge-request: !7051
2022-03-08 16:03:15 -05:00
Frank Winklmeier 140704d443 ctest: add option for output truncation
Add `--test-output-truncation` to `ctest`. This option can be used to
customize which part of the test output is being truncated. Currently
supported values are `tail`, `middle` and `head`.

Also add equivalent `CTEST_CUSTOM_TEST_OUTPUT_TRUNCATION` variable.

Fixes: #23206
2022-03-08 08:18:02 -05:00
Frank Winklmeier 359e5b17d8 presets: bump version to v5
Prepare for new test preset fields.
2022-03-08 08:18:02 -05:00
Frank Winklmeier 4634de335b cmCTestTestHandler: refactor CleanTestOutput method
Refactor the code to skip over UTF-8 multi-bytes into its own lambda
function so it can more easily be re-used.
2022-03-08 08:08:20 -05:00
Kitware Robot edc06246c4 CMake Nightly Date Stamp 2022-03-08 00:01:14 -05:00
Kyle Edwards f54507c2f6 CMakePresets.json: Add ${fileDir} macro
Fixes: #23214
2022-03-07 18:03:16 -05:00
Brad King 5f7f9faada Merge topic 'while-errors'
30313aa721 while: diagnose errors during condition evaluation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7045
2022-03-07 09:59:34 -05:00
Kitware Robot 3df1f7ef71 CMake Nightly Date Stamp 2022-03-07 00:01:43 -05:00
Kitware Robot 6b6bdcbb64 CMake Nightly Date Stamp 2022-03-06 00:01:11 -05:00
Kitware Robot 5beaee81ef CMake Nightly Date Stamp 2022-03-05 00:01:22 -05:00
Brad King 30313aa721 while: diagnose errors during condition evaluation
Add a policy to diagnose condition errors in a compatible way.

Fixes: #23296
2022-03-04 13:55:12 -05:00
Brad King 78ae759e01 CMake 3.21.6 2022-03-04 10:52:43 -05:00
Brad King 89457cb8f0 Merge topic 'file-set-name-requirements'
b357d334fc target_sources(): Enforce stricter requirements for FILE_SET name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7037
2022-03-04 09:09:33 -05:00
Brad King 65da32c924 Merge topic 'file-set-name-requirements' into release-3.23
b357d334fc target_sources(): Enforce stricter requirements for FILE_SET name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7037
2022-03-04 09:09:31 -05:00
Brad King 0d8bb14344 Merge topic 'file-set-multiple-names'
8c23ecbd93 target_sources(): Process multiple FILE_SET arguments per block

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7040
2022-03-04 09:07:04 -05:00
Brad King 31743aaf5d Merge topic 'file-set-multiple-names' into release-3.23
8c23ecbd93 target_sources(): Process multiple FILE_SET arguments per block

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7040
2022-03-04 09:07:03 -05:00
Brad King bb2477081d Merge topic 'while-bug-compatibility'
da2361ffb3 while: Restore tolerance of condition error
47d197745a Tests: Simplify RunCMake.{if,while} unbalanced parenthesis cases

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7041
2022-03-04 08:53:17 -05:00
Brad King d7febfc727 Merge topic 'while-bug-compatibility' into release-3.23
da2361ffb3 while: Restore tolerance of condition error
47d197745a Tests: Simplify RunCMake.{if,while} unbalanced parenthesis cases

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7041
2022-03-04 08:53:16 -05:00
Kitware Robot 5450255579 CMake Nightly Date Stamp 2022-03-04 00:01:14 -05:00
Alex Turbov da2361ffb3 while: Restore tolerance of condition error
Since commit 880ca66b51 (Fix: `while()` can silently ignore incorrect
condition, 2021-08-09, v3.22.0-rc1~238^2~4) we correctly reject the
code

    set(paren "(")
    while(${paren})
    endwhile()

However, rejecting it breaks compatibility with projects that used such
code accidentally.  In CMake 3.21 and below, any error in the condition
was ignored because the `false` result exited the loop first.  Restore
tolerance of the error for now.  A policy will be needed to make it an
error later.

Note that the same condition with `if` was always correctly rejected.

Fixes: #22524
Issue: #23296
Co-authored-by: Brad King <brad.king@kitware.com>
2022-03-03 16:51:34 -05:00
Kyle Edwards 8c23ecbd93 target_sources(): Process multiple FILE_SET arguments per block
Fixes: #23287
2022-03-03 14:31:54 -05:00
Brad King c5ab0ea1fa Merge topic 'cmake-dir-args'
d2e9478321 Tests: Add RunCMake.CommandLine ExplicitiDirs explicit work directory
78e8f11456 cmake: Correct regression in `-B <dir> <src_dir>`
4091d5c58c Tests: Verify RunCMake.CommandLine ExplicitDirs source/build dirs
1b97f8f35c Tests: Clarify RunCMake.CommandLine ExplicitDirs case names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7030
2022-03-03 11:46:29 -05:00
Brad King 77804f6358 Merge topic 'cmake-dir-args' into release-3.23
d2e9478321 Tests: Add RunCMake.CommandLine ExplicitiDirs explicit work directory
78e8f11456 cmake: Correct regression in `-B <dir> <src_dir>`
4091d5c58c Tests: Verify RunCMake.CommandLine ExplicitDirs source/build dirs
1b97f8f35c Tests: Clarify RunCMake.CommandLine ExplicitDirs case names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7030
2022-03-03 11:46:28 -05:00
Brad King 67fc1d74e3 Merge topic 'update-kwsys'
1b256a6bbf Merge branch 'backport-kwsys-SystemInformation-zhaoxin-kh40000'
a20ad92022 KWSys: SystemInformation: Add Zhaoxin x86 processor kh40000
17b4fa5dab Merge branch 'upstream-KWSys' into update-kwsys
9deb2d6013 KWSys 2022-03-02 (d3bbb6b7)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7032
2022-03-03 11:42:29 -05:00
Brad King 9c48040ffb Merge topic 'update-kwsys' into release-3.23
a20ad92022 KWSys: SystemInformation: Add Zhaoxin x86 processor kh40000

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7032
2022-03-03 11:42:28 -05:00
Kyle Edwards b357d334fc target_sources(): Enforce stricter requirements for FILE_SET name
Fixes: #23286
2022-03-03 10:17:10 -05:00
Kitware Robot 9b628e9ebb CMake Nightly Date Stamp 2022-03-03 00:01:20 -05:00
Robert Maynard 78e8f11456 cmake: Correct regression in -B <dir> <src_dir>
Fixes: #23285
2022-03-02 12:21:16 -05:00
Brad King cd6341b547 Merge topic 'cuda-arch-all'
2796d6eeca CUDA: Fix CMAKE_CUDA_ARCHITECTURES=all/all-major with NVCC 11.5+
e450d55552 Help: Update CUDA_ARCHITECTURES docs for generic all/all-major support
fe64c49e72 CUDA: Simplify CMAKE_CUDA_ARCHITECTURES special value logic

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7026
2022-03-02 07:52:18 -05:00
Brad King 04a7200c75 Merge topic 'cuda-arch-all' into release-3.23
2796d6eeca CUDA: Fix CMAKE_CUDA_ARCHITECTURES=all/all-major with NVCC 11.5+
e450d55552 Help: Update CUDA_ARCHITECTURES docs for generic all/all-major support
fe64c49e72 CUDA: Simplify CMAKE_CUDA_ARCHITECTURES special value logic

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7026
2022-03-02 07:52:17 -05:00
Brad King 63a461d818 Merge topic 'windows-symlink-dir'
5101d586c4 Windows: Prefer junctions for directory symlinks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7013
2022-03-02 07:51:00 -05:00
Brad King 1c2e678f99 Merge topic 'find_file_frameworks_debug_output'
3354d52e3d find_file: Fix blank line instead of framework path in debug output

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7024
2022-03-02 07:46:58 -05:00
Brad King 4b9227e718 Merge topic 'find_file_frameworks_debug_output' into release-3.23
3354d52e3d find_file: Fix blank line instead of framework path in debug output

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7024
2022-03-02 07:46:57 -05:00
Brad King 1ed1edbfd1 Merge topic 'file-set-no-custom-targets'
ad41c9cd11 target_sources(): Prohibit FILE_SET on custom targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7027
2022-03-02 07:45:58 -05:00
Joker-Van a20ad92022 KWSys: SystemInformation: Add Zhaoxin x86 processor kh40000
Backport KWSys commit `dfec20c95` (SystemInformation: Add Zhaoxin x86
processor kh40000, 2022-03-02) to the CMake 3.23 release branch.
2022-03-02 07:27:44 -05:00
Brad King 17b4fa5dab Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2022-03-02 (d3bbb6b7)
2022-03-02 07:25:28 -05:00
Kitware Robot 0a4da33f8c CMake Nightly Date Stamp 2022-03-02 00:01:16 -05:00
Sergei Kryvonos 5101d586c4 Windows: Prefer junctions for directory symlinks
Update the approach added by commit afb7f6e4ff (cmake: Add '-E
create_symlink' support on Windows, 2018-06-11, v3.13.0-rc1~75^2) to use
junctions, as suggested [here](https://superuser.com/a/1291446/140450).
This allows them to work under security limitations on Windows.

Fixes: #23257
2022-03-01 08:48:46 -05:00