Commit Graph

56120 Commits

Author SHA1 Message Date
Brad King a9ffded98c Add deprecation warnings for policies CMP0097 and below
The OLD behaviors of all policies are deprecated, but only by
documentation.  Add an explicit deprecation diagnostic for policies
introduced in CMake 3.16 and below to encourage projects to port
away from setting policies to OLD.
2022-02-03 14:13:12 -05:00
Brad King 40107d308f Merge branch 'release-3.23' 2022-02-03 10:13:29 -05:00
Brad King 3a210d7b1b Merge topic 'doc-cmcmd-versionadded'
892c96dda0 Help: add versionadded markup to cmake -E commands

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6946
2022-02-03 10:13:29 -05:00
Brad King c63ee048cb Merge topic 'doc-cmcmd-versionadded' into release-3.23
892c96dda0 Help: add versionadded markup to cmake -E commands

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6946
2022-02-03 10:13:28 -05:00
Brad King d4af1001e1 Merge branch 'release-3.23' 2022-02-03 09:57:46 -05:00
Brad King 43acc8e3c7 Merge topic 'ci-minor-cleanups'
040c509bce gitlab-ci: clarify name of windows fragment for building with ninja
bd14f07ce9 Tests: Skip Clang PCH_INSTANTIATE_TEMPLATES test in MSVC ABI
c26b064b8c Tests: Suppress MSVC CRT deprecation warnings in pseudo_llvm-rc

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6947
2022-02-03 09:57:46 -05:00
Brad King 8d4e353ede Merge topic 'ci-minor-cleanups' into release-3.23
040c509bce gitlab-ci: clarify name of windows fragment for building with ninja
bd14f07ce9 Tests: Skip Clang PCH_INSTANTIATE_TEMPLATES test in MSVC ABI
c26b064b8c Tests: Suppress MSVC CRT deprecation warnings in pseudo_llvm-rc

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6947
2022-02-03 09:57:45 -05:00
Peter Würth 892c96dda0 Help: add versionadded markup to cmake -E commands 2022-02-03 09:39:56 -05:00
Brad King 345908b16b Begin post-3.23 development 2022-02-03 09:16:07 -05:00
Brad King 21fc4aee5d Merge branch 'release-3.23' 2022-02-03 09:14:00 -05:00
Brad King 736663deed Begin 3.23 release versioning 2022-02-03 09:12:55 -05:00
Brad King 8efb06190c gitlab-ci: Drop package pipeline upload jobs for release branch
The package pipeline for release versions should not upload packages
automatically to our archive of nightly development versions.
2022-02-03 09:11:34 -05:00
Brad King 823e908d72 Help: Drop development topic notes to prepare release
Release versions do not have the development topic section of
the CMake Release Notes index page.
2022-02-03 09:11:03 -05:00
Brad King 3d85c0072d Merge topic 'doc-3.23-relnotes'
9334b5bd7b Help: Update Sphinx versionadded directives for 3.23 release
e61969c59e Help: Organize and revise 3.23 release notes
f5bdea75a0 Help: Consolidate 3.23 release notes
ef23e81544 Help: Remove stray leading blank lines from release notes
51aaea34d6 Help: Polish CMAKE{,_SYSTEM}_IGNORE_PREFIX_PATH documentation
23b1d8f03c CheckPIESupported: Document version adding support for more languages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6936
2022-02-03 09:10:06 -05:00
Brad King 9334b5bd7b Help: Update Sphinx versionadded directives for 3.23 release
Run the script:

    Utilities/Sphinx/update_versions.py --since v3.22.0 --overwrite

Manually select updates that really belong to the 3.23 release, as
against adding documentation for previously-existing entities.
2022-02-03 07:53:46 -05:00
Brad King e61969c59e Help: Organize and revise 3.23 release notes
Add section headers similar to the 3.22 release notes and move each
individual bullet into an appropriate section.  Revise a few bullets.
2022-02-03 07:53:46 -05:00
Brad King f5bdea75a0 Help: Consolidate 3.23 release notes
Run the `Utilities/Release/consolidate-relnotes.bash` script to move
notes from `Help/release/dev/*` into `Help/release/3.23.rst`.
2022-02-03 07:53:45 -05:00
Brad King ef23e81544 Help: Remove stray leading blank lines from release notes 2022-02-03 07:53:45 -05:00
Brad King 51aaea34d6 Help: Polish CMAKE{,_SYSTEM}_IGNORE_PREFIX_PATH documentation 2022-02-03 07:53:45 -05:00
Brad King 23b1d8f03c CheckPIESupported: Document version adding support for more languages 2022-02-03 07:53:45 -05:00
Brad King d738939355 Merge topic 'doc-imported-no-system'
ec29a6a1a9 Help: Clarify documentation on SYSTEM include directories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6942
2022-02-03 07:52:46 -05:00
Brad King 7077916781 Merge topic 'cmake-ignore-prefix-path'
201d8c4298 find_*(): Add CMAKE_IGNORE_PREFIX_PATH variable
bd805a51ae Refactor: Keep track of prefixes in cmSearchPath

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !6880
2022-02-03 07:35:23 -05:00
Brad King 0c0d4e1c7a Merge topic 'cmake-presets-configure-preset-reachability'
c18409cdac CMakePresets.json: Ensure configurePreset is reachable from current file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6937
2022-02-03 07:32:54 -05:00
Brad King ec29a6a1a9 Help: Clarify documentation on SYSTEM include directories
Mention that system include directories are searched after normal
include directories.

Document that `IMPORTED_NO_SYSTEM` and `NO_SYSTEM_FROM_IMPORTED`
do not affect `INTERFACE_SYSTEM_INCLUDE_DIRECTORIES`.
2022-02-03 06:21:37 -05:00
Kitware Robot fb26581653 CMake Nightly Date Stamp 2022-02-03 00:01:15 -05:00
Brad King 040c509bce gitlab-ci: clarify name of windows fragment for building with ninja 2022-02-02 16:27:02 -05:00
Kyle Edwards c18409cdac CMakePresets.json: Ensure configurePreset is reachable from current file 2022-02-02 15:17:30 -05:00
Brad King bd14f07ce9 Tests: Skip Clang PCH_INSTANTIATE_TEMPLATES test in MSVC ABI 2022-02-02 15:02:51 -05:00
Brad King c26b064b8c Tests: Suppress MSVC CRT deprecation warnings in pseudo_llvm-rc 2022-02-02 14:46:25 -05:00
Kyle Edwards 201d8c4298 find_*(): Add CMAKE_IGNORE_PREFIX_PATH variable
Fixes: #20878
2022-02-02 11:09:00 -05:00
Kyle Edwards bd805a51ae Refactor: Keep track of prefixes in cmSearchPath 2022-02-02 11:09:00 -05:00
Brad King 9245925810 Merge topic 'cuda_generic_arch_all'
8f64df0a7c CUDA: Generic all and all-major support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex <leha-bot@yandex.ru>
Merge-request: !6816
2022-02-02 08:23:19 -05:00
Brad King 0f316675cf Merge topic 'dotnet_ref_in_sdk'
5ee3154f65 VS: .Net SDK Style projects can add Reference to dlls

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6932
2022-02-02 08:21:16 -05:00
Brad King 490e58905d Merge topic 'update-expat'
338240fd21 Merge branch 'upstream-expat' into update-expat
8e0070b905 expat 2022-01-30 (81b89678)
f06a4c2406 expat: Update script to get Expat 2.4.4

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6933
2022-02-02 08:18:45 -05:00
Brad King 1e1e04db75 Merge topic 'ep-redownload-on-SOURCE_DIR-change'
d3477eba06 ExternalProject: Rerun download on SOURCE_DIR change

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6926
2022-02-02 08:17:51 -05:00
Brad King 9e76b4cde6 Merge topic 'ci-fedora35'
c76abba044 gitlab-ci: update to Fedora 35 base images
0ab6e5ca5b gitlab-ci: update to Fedora 35 for upload jobs
1729e1292d ci: update to Fedora 35 for Linux base images
89700cba9a clang-tidy: ignore warnings new in version 13
efe3af0119 Tests: Update FindBoost.TestPython for Python 3.10
a541c8f510 Utilities/Sphinx: Ignore warning in generated texinfo documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6935
2022-02-02 08:16:46 -05:00
Kitware Robot ece32491ab CMake Nightly Date Stamp 2022-02-02 00:01:17 -05:00
Brad King c76abba044 gitlab-ci: update to Fedora 35 base images 2022-02-01 17:20:29 -05:00
Brad King 0ab6e5ca5b gitlab-ci: update to Fedora 35 for upload jobs 2022-02-01 17:20:29 -05:00
Brad King 1729e1292d ci: update to Fedora 35 for Linux base images 2022-02-01 17:20:29 -05:00
Brad King 89700cba9a clang-tidy: ignore warnings new in version 13
These warnings can be fixed in the future.  Ignore them for now.
2022-02-01 17:20:29 -05:00
Brad King efe3af0119 Tests: Update FindBoost.TestPython for Python 3.10
Follow up commit d4bb6c0c7f (FindBoost: Add support for Python 3.10,
2021-12-16, v3.22.2~14^2) with an update for the FindBoost test.
2022-02-01 17:20:28 -05:00
Brad King a541c8f510 Utilities/Sphinx: Ignore warning in generated texinfo documentation 2022-02-01 17:20:28 -05:00
Brad King 71294d482d Merge branch 'release-3.22' 2022-02-01 12:09:54 -05:00
Brad King 18881afbdf Merge branch 'release-3.21' 2022-02-01 12:09:43 -05:00
Brad King 17f97143cb Merge branch 'release-3.21' into release-3.22 2022-02-01 12:08:05 -05:00
Brad King c138ddb943 Merge topic 'refactor-find-package-cmake-ignore-path'
11f97d1968 find_package(): Refactor CMAKE_[SYSTEM_]IGNORE_PATH
30e5c1d92b find_package(): Add tests for CMAKE_IGNORE_PATH

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !6918
2022-02-01 12:04:33 -05:00
Raul Tambre 8f64df0a7c CUDA: Generic all and all-major support
Commit 14d8a276 (CUDA: Support nvcc 11.5 new -arch=all|all-major flags,
2021-08-17) added all and all-major options to CUDA_ARCHITECTURES. These are
fairly generic and likely to see real-world use by distributors. Thus it's
desirable to support these also for Clang and older NVCC versions.

The supported architectures are dependent on the toolkit version. We determine
the toolkit version prior to compiler detection. For NVCC we get the version
from the vendor identification output, but for Clang we need to invoke NVCC
separately.

The architecture information is mostly based on the Wikipedia list with the
earliest supported version being CUDA 7.0. This could be documented and
expanded in the future to allow projects to query CUDA toolkit version and
architecture information.
For Clang we additionally constrain based on its support.

Additionally the architecture mismatch detection logic is fixed, improved and
updated for generic support:
* Commit 01428c55 (CUDA: Fail fast if CMAKE_CUDA_ARCHITECTURES doesn't work
  during detection, 2020-08-29) enabled CMAKE_CUDA_COMPILER_ID_REQUIRE_SUCCESS
  if CMAKE_CUDA_ARCHITECTURES is specified. This results in
  CMakeDetermineCompilerID.cmake printing the compiler error and our code for
  presenting the mismatch in a user-friendly way being useless. The custom
  logic seems preferable so go back to not enabling it.
* Commit 14d8a276 (CUDA: Support nvcc 11.5 new -arch=all|all-major flags,
  2021-08-17) tried to support CMP0054 but forgot to add x to the interpolated
  result. Thus the conditions would always evaluate to false. This is fixed as
  a byproduct of removing NVIDIA specific checks, improving the error message
  and replacing architectures_mode with a simpler architectures_explicit.

Visual Studio support omits testing the flags during detection due to
complexities in determining the toolkit version when using it.
A long-term proper implementation would be #23161.

Implements #22860.
2022-02-01 18:25:20 +02:00
Brad King 6fe5df13c2 CMake 3.21.5 v3.21.5 2022-02-01 10:54:10 -05:00
Brad King 338240fd21 Merge branch 'upstream-expat' into update-expat
# By Expat Upstream
* upstream-expat:
  expat 2022-01-30 (81b89678)
2022-02-01 10:43:53 -05:00