summaryrefslogtreecommitdiffstats
path: root/Help/release
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'revert-link-interface-direct-for-3.23' into release-3.23Brad King2022-03-221-5/+0
|\ | | | | | | | | | | | | 687a91967f Revert INTERFACE_LINK_LIBRARIES_DIRECT feature for 3.23 branch Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7098
| * Revert INTERFACE_LINK_LIBRARIES_DIRECT feature for 3.23 branchBrad King2022-03-211-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit f3ad061858 (Add usage requirements to update direct link dependencies, 2022-01-12, v3.23.0-rc1~44^2) and the property storage updates in its predecessor commit 193a999cd5 (cmTarget: Add INTERFACE_LINK_LIBRARIES_DIRECT{,_EXCLUDE} backtrace storage, 2022-01-06, v3.23.0-rc1~44^2~1) from the 3.23 release branch. After initial experience using the feature in practice, additional design considerations have been raised for discussion in the original issue. To avoid rushing this for the 3.23 series, we've decided to revert the feature for now so it can be revised for a future release. Issue: #22496
* | Help: Add more detail for CPACK_PRODUCTBUILD_DOMAINS* variablesCraig Scott2022-03-211-1/+3
|/
* Help: Document warning about multiple source pathsBrad King2022-03-181-0/+6
| | | | | | | | Although passing multiple source paths was never documented, it was not diagnosed by CMake 3.22 and below. In CMake 3.23 we now diagnose extra paths and warn. Document this change and add a release note. Issue: #23334
* CMakePresets.json: Add ${fileDir} macroKyle Edwards2022-03-071-0/+3
| | | | Fixes: #23214
* Merge branch 'release-3.22' into release-3.23Brad King2022-03-041-0/+9
|\
| * CMake 3.22.3v3.22.3Brad King2022-03-041-0/+9
| |
* | Merge branch 'release-3.22' into release-3.23Brad King2022-03-041-3/+3
|\ \ | |/
| * Merge branch 'release-3.21' into release-3.22Brad King2022-03-041-3/+3
| |\
| | * CMake 3.21.6v3.21.6Brad King2022-03-041-3/+3
| | |
| * | Merge branch 'release-3.21' into release-3.22Brad King2022-02-011-0/+7
| |\ \ | | |/
* | | Help: Clarify how package resolve mode is intended to be usedCarsten Rudolph2022-02-151-1/+4
| | | | | | | | | | | | Fixes: #23223
* | | Merge topic 'ep-patch-USES_TERMINAL' into release-3.23Brad King2022-02-041-0/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | cbb87e0a2c ExternalProject: Add support for USES_TERMINAL_PATCH keyword Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6940
| * | | ExternalProject: Add support for USES_TERMINAL_PATCH keywordCraig Scott2022-02-031-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This brings the patch step into line with all the others which already had their own `USES_TERMINAL_<step>` keyword. All steps (including patch) already have their own `LOG_<step>` keyword too, so the lack of `USES_TERMINAL_PATCH` was inconsistent.
* | | | Help: Drop development topic notes to prepare releaseBrad King2022-02-032-9/+0
|/ / / | | | | | | | | | | | | Release versions do not have the development topic section of the CMake Release Notes index page.
* | | Help: Organize and revise 3.23 release notesBrad King2022-02-031-138/+190
| | | | | | | | | | | | | | | Add section headers similar to the 3.22 release notes and move each individual bullet into an appropriate section. Revise a few bullets.
* | | Help: Consolidate 3.23 release notesBrad King2022-02-0341-271/+202
| | | | | | | | | | | | | | | Run the `Utilities/Release/consolidate-relnotes.bash` script to move notes from `Help/release/dev/*` into `Help/release/3.23.rst`.
* | | Help: Remove stray leading blank lines from release notesBrad King2022-02-033-3/+0
| | |
* | | find_*(): Add CMAKE_IGNORE_PREFIX_PATH variableKyle Edwards2022-02-021-0/+7
| | | | | | | | | | | | Fixes: #20878
* | | Merge topic 'cuda_generic_arch_all'Brad King2022-02-021-4/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | CUDA: Generic all and all-major supportRaul Tambre2022-02-011-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge branch 'release-3.21'Brad King2022-02-011-0/+7
|\ \ \ \ | |/ / / |/| | / | | |/ | |/|
| * | CMake 3.21.5v3.21.5Brad King2022-02-011-0/+7
| | |
* | | Merge topic 'link-interface-direct'Brad King2022-01-311-0/+7
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f3ad061858 Add usage requirements to update direct link dependencies 193a999cd5 cmTarget: Add INTERFACE_LINK_LIBRARIES_DIRECT{,_EXCLUDE} backtrace storage 22d5427aa6 cmGeneratorTarget: Add LookupLinkItem option to consider own target name f3d2eab36a cmGeneratorTarget: Fix link interface caching of partial results d75ab9d066 cmGeneratorTarget: Clarify CMP0022 logic in ComputeLinkInterfaceLibraries f3e9e03fe0 cmGeneratorTarget: Simplify CMP0022 warning check 216aa14997 cmGeneratorTarget: Return early from ExpandLinkItems with no items 1bc98371d1 Tests: Remove unnecessary policy setting from ObjectLibrary test ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6886
| * | | Add usage requirements to update direct link dependenciesBrad King2022-01-291-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Link line construction starts with `LINK_LIBRARIES` and appends dependencies from the transitive closure of `INTERFACE_LINK_LIBRARIES`. Only the entries of `LINK_LIBRARIES` are considered direct link dependencies. In some advanced use cases, particularly involving static libraries and static plugins, usage requirements need to update the list of direct link dependencies. This may mean adding new items, removing existing items, or both. Add target properties to encode these usage requirements: * INTERFACE_LINK_LIBRARIES_DIRECT * INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE Fixes: #22496
* | | | Merge topic 'ibmclang-compiler'Brad King2022-01-281-0/+5
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8c1731546c Help: Add release note for IBM Open XL C/C++ compiler support 24da80b70a Utilities: Suppress warnings in third-party code with IBMClang 6da99e671c IBMClang: Add support for IBM Open XL C/C++ Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6785
| * | | | Help: Add release note for IBM Open XL C/C++ compiler supportBrad King2022-01-271-0/+5
| | | | |
* | | | | Merge topic 'cuda_vs_arch_all'Brad King2022-01-282-0/+16
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | daf372c4d6 CUDA: Fix issuing error if default architecture detection fails 7a0d098352 CUDA: Error on empty/invalid CMAKE_CUDA_ARCHITECTURES set by user d19273bc7b CUDA: Support all and all-major on Visual Studio 5f667d783a CUDA: Actually use reverse architecture deprecation order for Clang Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Brad King <brad.king@kitware.com> Merge-request: !6912
| * | | | | CUDA: Fix issuing error if default architecture detection failsRaul Tambre2022-01-271-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We require CUDA_ARCHITECTURES to be set for targets (see CMP0104). If not set anything after compiler detection such as ABI detection will fail to generate. This means we need to error if CMAKE_CUDA_ARCHITECTURES is not set to a valid value as a result of compiler detection. Currently we fail to issue the error if compiler detection failed and the ID is unset. In such a case we won't define detected_architecture making the code responsible for the error unreachable. Simplify the detection of architectures used during compiler detection by always detecting all of them, which enables us to simply the check in the "default to compiler" path if CMAKE_CUDA_ARCHITECTURES is empty. As a result we need to move the error checking and CMAKE_CUDA_ARCHITECTURES=OFF handling fully into the default path thus simplifying the code and unifying the code paths for NVCC and CUDA. This also happens to fix: 1. CMAKE_CUDA_ARCHITECTURES=OFF on Clang. 2. A theoretical issue of a compiler defaulting to multiple architectures. I've additionally added printing of the compiler output along the error to better reveal possible underlying compiler/system configuration issues. Fixes #23010.
| * | | | | CUDA: Error on empty/invalid CMAKE_CUDA_ARCHITECTURES set by userRaul Tambre2022-01-271-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If empty we otherwise treat it the same as unset in most places, but still end up failing eventually with a confusing "Failed to find a working CUDA architecture". This also detects some other basic invalid ones (e.g. "al").
* | | | | | string(TIMESTAMP): add %f specifier for microsecondsPeter Würth2022-01-281-0/+5
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The %f specified extends the string(TIMESTAMP) and file(TIMESTAMP) commands to output the timestamp with a microsecond resolution. This convention is offered by python's datetime module. Before, the precision was limited to seconds. The implementation is done by extending existing cmTimestamp methods with a `microseconds` parameter. This parameter is optional in order to be backwards compatible. The timestamps are now received in a cross-platform manner using libuv, since the standard C functions like time() don't allow for sub-second precision. This requires libuv 1.28 or higher. We already require higher than that on Windows, so update the required version for other platforms. Implements: #19335
* | | | | Merge topic 'doc-3.22-patches'Brad King2022-01-251-0/+7
|\ \ \ \ \ | |/ / / / |/| | | / | | |_|/ | |/| | | | | | | | | | 1461eff899 Help: Add missing 3.22.1 section to the release notes Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6895
| * | | Help: Add missing 3.22.1 section to the release notesBrad King2022-01-241-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | 3.22.1 had no release notes because there were no changes to documented features or interfaces. Now that we have a 3.22.2 section, add one for the previous patch release to avoid confusion.
* | | | Merge topic 'cmp0128_cuda'Brad King2022-01-241-0/+6
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ee1396e29e CMP0128: Add flag in OLD mode even when standard matches the default b2c25de8e0 CMP0128: Avoid test code duplication 3a089cd256 CMP0128: Prefix test names with mode e13dd52535 XL: Detect default extensions mode for legacy compiler Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6890
| * | | CMP0128: Add flag in OLD mode even when standard matches the defaultRaul Tambre2022-01-231-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 4a0485be (cmStandardLevelResolver: Avoid unnecessary flags, fix unset level logic, 2021-04-29) unintentionally changed the behavior by modifying the code to match a pre-existing comment. The resulting behavior change however matches the intentions of CMP0128, so we simply need to guard it. Fixes #23122.
* | | | Merge topic 'vs-package-restore'Brad King2022-01-241-0/+13
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9aa7831f05 Presets: add resolve packages setting to build presets. b2f8f0bb87 cmGlobalVisualStudio10Generator: Auto restore NuGet packages. 193b8fca52 cmBuildOptions: Split build arguments into separate object. 6a10103493 Help: Update preset schema description for version 3 entries. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6761
| * | | Presets: add resolve packages setting to build presets.Carsten Rudolph2022-01-221-0/+3
| | | |
| * | | cmGlobalVisualStudio10Generator: Auto restore NuGet packages.Carsten Rudolph2022-01-221-0/+10
| | | |
* | | | Merge topic 'target-properties-from-variables'Brad King2022-01-211-0/+5
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fce24e4f10 define_property(): Add INITIALIZE_FROM_VARIABLE argument Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6865
| * | | | define_property(): Add INITIALIZE_FROM_VARIABLE argumentKyle Edwards2022-01-201-0/+5
| | | | | | | | | | | | | | | | | | | | Fixes: #20698
* | | | | Merge topic 'CheckPIESUpported-supports-SYSROOT'Brad King2022-01-201-0/+6
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 219dde4ea8 CheckPIESupported: now uses any SYSROOT settings 4fa105d34e Check{Compiler,Linker}Flag: Add possibility to retrieve check outputs Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6877
| * | | | | CheckPIESupported: now uses any SYSROOT settingsMarc Chevrier2022-01-191-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: 23053
* | | | | | Merge topic 'ccmake-windows'Brad King2022-01-201-0/+6
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e674e02c55 Help: Add release note for experimental ccmake support on Windows 5c9310c714 ci: Enable ccmake on Windows 9278c6e01a ccmake: Add Windows support using PDCurses b97c12babb ccmake: Refactor resizing logic into cmCursesForm bf11dab49d ccmake: Refactor BUILD_CursesDialog option logic bf94e01348 cmpdcurses: Add CMake build system 89703bc941 Merge branch 'upstream-PDCurses' into update-pdcurses f84c4112c3 PDCurses 2021-12-08 (f1cd4f45) ... Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6832
| * | | | | Help: Add release note for experimental ccmake support on WindowsBrad King2022-01-191-0/+6
| | |/ / / | |/| | |
* | | | | Merge topic 'cpack-dmg-sla'Brad King2022-01-191-0/+9
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9e38bfa915 CPack/DMG: Add explicit option to use CPACK_RESOURCE_FILE_LICENSE for SLA 542ba6ac1a Tests: Add CPack/DMG case covering SLA from CPACK_RESOURCE_FILE_LICENSE Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6876
| * | | | | CPack/DMG: Add explicit option to use CPACK_RESOURCE_FILE_LICENSE for SLABrad King2022-01-181-0/+9
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since macOS 12.0, the ``hdiutil udifrez`` and ``hdiutil udifderez`` commands to embed and extract resources in a disk image are deprecated. The CPack DragNDrop Generator uses these to attach the SLA specified by the `CPACK_RESOURCE_FILE_LICENSE` option. Since that option is shared by multiple CPack generators, we cannot deprecate it. Instead, add an explicit option to control the behavior. This will give projects a way to package on future macOS versions that remove the commands. In order to provide a long-term transition away from attaching SLAs to disk images, update `cpack` to default this behavior to OFF. To retain compatibility for CMake projects, teach the CPack module to default the option to ON. Later a policy can be added to change the default. Issue: #22978
* | | | | define_property(): Make BRIEF_DOCS and FULL_DOCS optionalKyle Edwards2022-01-181-0/+5
|/ / / / | | | | | | | | | | | | Issue: #20698
* | | | CUDAToolkit: Add CUDA::cufft_static_nocallback targetRobert Maynard2022-01-121-0/+5
|/ / / | | | | | | | | | Fixes: #23098
* | | Merge topic 'cmake-presets-include'Brad King2022-01-101-0/+6
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 26a5512c0f CMakePresets: Add include field a239f23a98 Refactor: Generalize file graph in CMakePresets 84d440caac Refactor: Split JSON processing into configure, build, and test presets fd6ea2f67f Refactor: Rename cmCMakePresetsFile to cmCMakePresetsGraph Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !6829
| * | | CMakePresets: Add include fieldKyle Edwards2022-01-071-0/+6
| | | | | | | | | | | | | | | | Fixes: #21331