Commit Graph

3363 Commits

Author SHA1 Message Date
Brad King d550a1ebea Merge topic 'cpack-innosetup-linux'
d4a46314ac CPack: Enable Inno Setup generator on non-Windows hosts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9431
2024-04-16 08:55:57 -04:00
Brad King f494bbaf8f Merge topic 'FindBacktrace-imported-library'
9433755e5d FindBacktrace: Add imported library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9406
2024-04-16 08:51:59 -04:00
Andreas Oetken d4a46314ac CPack: Enable Inno Setup generator on non-Windows hosts
Innosetup tools can be run on Linux using Wine, thus there is no reason
to block this in CMake.
2024-04-15 16:34:22 -04:00
David Faure 9433755e5d FindBacktrace: Add imported library
This is to avoid (a future version of) Qt from having to wrap
FindBacktrace like [1].

[1] https://code.qt.io/cgit/qt/qtbase.git/tree/cmake/FindWrapBacktrace.cmake
2024-04-15 13:27:23 -04:00
Brad King ca449572ef Merge topic 'cxxmodules-import-std'
429902ebad Clang: support creating a target for imported modules
4617f272b4 MSVC: support `import std`
62a71047bb cmGraphVizWriter: ignore `__cmake_`-prefixed targets
442086c1dc fileapi: ignore `__cmake_`-prefixed targets
ffe74289b3 CMakeDetermineCompilerId: extract C++ standard library impl
15bbd1d9b8 Experimental: add an experimental feature gate for `import std`
f80c60df02 CMakeDetermineCompilerSupport: construct C++ modules targets
19341e2582 ci: enable `import_std23` C++ module tests on MSVC
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9337
2024-04-15 09:56:53 -04:00
Brad King 96a9dd7544 Merge branch 'release-3.29' 2024-04-11 10:45:02 -04:00
Ben Boeckel 7146cf9248 cmTarget: support the CXX_MODULE_STD property 2024-04-11 10:19:44 -04:00
Brad King d3190d6a73 CMake 3.29.2 2024-04-11 10:12:19 -04:00
Raul Tambre f21dbf8f26 C++26: Fix C++/CUDA/HIP compile feature support
In commit f808d8afb9 (CMake: Support upcoming C++26 language level,
2022-08-19, v3.25.0-rc1~218^2) we forgot some necessary scaffolding.

Fixes: #25819
2024-04-09 11:38:59 +03:00
Brad King de6d9a46cb Merge branch 'release-3.29' 2024-04-03 12:18:51 -04:00
Brad King a4774b0c10 CMake 3.29.1 2024-04-03 11:45:14 -04:00
Brad King 7fde843527 Merge topic 'enable_language-before-project'
97464aa970 enable_language(): Fail if called before project()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9396
2024-04-03 09:38:46 -04:00
Brad King 3c8d4ed51a Merge topic 'swift-linker-selection'
3fb4092826 Swift: Add CMAKE_LINKER_TYPE support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9380
2024-04-03 09:34:06 -04:00
Evan Wilde 3fb4092826 Swift: Add CMAKE_LINKER_TYPE support
Extend commit 96a953b1ed (Add options to specify linker tool, 2023-09-27,
v3.29.0-rc1~577^2) with the `CMAKE_Swift_USING_LINKER_*` variables
needed to support `CMAKE_LINKER_TYPE` for Swift.
2024-04-02 10:42:12 -04:00
Craig Scott 97464aa970 enable_language(): Fail if called before project()
Fixes: #25550
2024-04-02 23:00:38 +11:00
Brad King b0315c83dc ci: package .zip source archives using LF newlines
Previously we provided a `.zip` archive with CRLF newlines and a
`.tar.gz` archive with LF newlines.  This is no longer consistent
with modern conventions.  Use LF newlines in both.

Fixes: #25467
2024-04-01 10:53:11 -04:00
Brad King 252c2a6fcb Merge topic 'add_library-no-static-fallback'
a61c9afdf8 add_library: Reject shared libraries on platforms that do not support them

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9347
2024-04-01 09:38:14 -04:00
Brad King 554a9b00c8 Merge topic 'tls-verify'
7139944264 ctest: Fall back to CMake environment variable for TLS server verification
c295df53c6 ctest: Test fallback to CMake options for TLS server verification
0d250dd021 ExternalProject: Honor CMAKE_TLS_VERIFY environment variable
e8404502b1 ExternalProject: Revise TLS_VERIFY wording to use TLS_VERSION pattern
46faaf9667 file(DOWNLOAD|UPLOAD): Add CMAKE_TLS_VERIFY environment variable
8b0169fe2b file(DOWNLOAD|UPLOAD): Add test covering CMAKE_TLS_VERIFY cmake variable
93886f5c7d file(DOWNLOAD|UPLOAD): Avoid unnecessary CMAKE_TLS_VERIFY variable lookup
bed32f400e file(DOWNLOAD|UPLOAD): Document TLS_VERSION fallback to environment variable
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !9389
2024-04-01 09:37:20 -04:00
Brad King 5ebd5daa93 Merge topic 'rel-win-PATH'
2e5330591d Utilities/Release/WiX: Modify PATH by default when installing on Windows
32388821e2 Utilities/Release/WiX: Save PATH modification preference persistently

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Nazar Mokrynskyi <nazar@mokrynskyi.com>
Merge-request: !9386
2024-04-01 09:36:27 -04:00
Brad King 46faaf9667 file(DOWNLOAD|UPLOAD): Add CMAKE_TLS_VERIFY environment variable
Issue: #23608
2024-03-30 09:22:04 -04:00
Asit Dhal a61c9afdf8 add_library: Reject shared libraries on platforms that do not support them
Add policy CMP0164 to provide compatibility.

Fixes: #25759
2024-03-29 11:06:32 -04:00
Brad King f852f33c69 Merge topic 'prop-GENERATED-visibility'
071f0d6f98 CMP0163: Make GENERATED source file property globally visible
00c6573d86 cmSetPropertyCommand: Refactor checks for CMP0118
e04af1e9c2 cmGetSorceFilePropertyCommand: Simplify string comparisons

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9308
2024-03-29 09:59:06 -04:00
Brad King 2e5330591d Utilities/Release/WiX: Modify PATH by default when installing on Windows
If the PATH modification choice has not been saved persistently by an
existing installation of CMake, default to modifying the system PATH
environment variable to make our command-line tools available for all
users.  This is a common expectation.

Fixes: #21465
2024-03-29 09:32:27 -04:00
Brad King 32388821e2 Utilities/Release/WiX: Save PATH modification preference persistently
Our Windows installer provides an interactive dialog to choose whether
the PATH should be modified.  It may also be specified on the `msiexec`
command-line as an `ADD_CMAKE_TO_PATH={0,1}` property.  Save the choice
persistently in the Windows Registry and use the same choice by default
in future installations.

Issue: #21465
2024-03-29 09:32:27 -04:00
Deniz Bahadir 071f0d6f98 CMP0163: Make GENERATED source file property globally visible
This was originally attempted by policy CMP0118, but its
implementation did not cover all intended use cases.  We fixed its
documentation in commit 1dabbbb5e0 (CMP0118: Revise documentation to
describe actual behavior, 2024-03-20).

Add new policy CMP0163 to cover the remaining use cases.  In particular,
make the `GENERATED` property visible to `get_property` calls in other
directories.  In order to capture the original intention of CMP0118,
define CMP0163's NEW behavior to also imply CMP0118's NEW behavior.

Fixes: #25437
Fixes: #25058
2024-03-29 08:54:11 -04:00
Brad King 03884f4f32 CPack/WIX: Add support for WiX Toolset v4
Add a `CPACK_WIX_VERSION` option to specify version WiX for
which the project is configured.

Fixes: #23910
2024-03-24 15:26:39 -04:00
Brad King cff8aefc6a Merge topic 'doc-CMP0118'
1dabbbb5e0 CMP0118: Revise documentation to describe actual behavior
d2f5b79795 CMP0118: Fix some tests and add more tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9358
2024-03-22 09:34:31 -04:00
Deniz Bahadir 1dabbbb5e0 CMP0118: Revise documentation to describe actual behavior
The policy was originally intended to make the `GENERATED` source file
property globally visible, but the implementation didn't fully achieve
that goal.  Revise the documentation to describe what it actually does.

Issue: #25437
2024-03-21 11:37:46 -04:00
Brad King 388f7bc11b Merge topic 'fileapi-provide-glob-dependent'
6116bcb066 fileapi: Add CONFIGURE_DEPENDS glob info to cmakeFiles object
f578515d02 cmGlobCacheEntry: Add helper to carry CONFIGURE_DEPENDS glob cache arguments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9348
2024-03-21 09:29:00 -04:00
Brad King f31523c251 Merge branch 'release-3.28' 2024-03-20 10:35:51 -04:00
Brad King 7e52f9d4e0 Merge branch 'release-3.28' into release-3.29 2024-03-20 10:35:33 -04:00
Brad King b5602e7254 CMake 3.28.4 2024-03-20 10:03:43 -04:00
Arctic Lampyrid 6116bcb066 fileapi: Add CONFIGURE_DEPENDS glob info to cmakeFiles object
Fixes: #25668
Co-authored-by: Brad King <brad.king@kitware.com>
2024-03-19 14:55:25 -04:00
Brad King 253397b018 Merge topic 'ctest-tls-options'
aeb8bcc055 ctest: Fall back to CMake options for TLS version
56e319ce4a ctest: Fall back to CMake options for TLS server verification
6671f17f65 ctest: Add explicit options for TLS version
0aba13a2f3 ctest: Add explicit options for TLS server verification
51728a6dd3 CTest: Create scope to isolate defaults for DartConfiguration.tcl
8a3a486fb5 cmCTestCurl: Factor out helper struct for curl options
7f668bb94f cmCTestCurl: Use inline member initialization
add81210df cmCurl: Assert that we cover all TLS versions supported by our vendored curl
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9318
2024-03-13 11:05:17 -04:00
Brad King b7c78e1592 Merge topic 'export-find_dependency-calls'
3a739d4dcb EXPORT_PACKAGE_DEPENDENCIES: Add experimental feature gate

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9336
2024-03-13 10:57:08 -04:00
Brad King 3a739d4dcb EXPORT_PACKAGE_DEPENDENCIES: Add experimental feature gate
Some design concerns have been raised after trying the 3.29 release
candidates.  Avoid committing to a stable public interface for now.

Issue: #25767
2024-03-12 14:24:53 -04:00
Brad King 6671f17f65 ctest: Add explicit options for TLS version
Add a dedicated `TLSVersion` ctest option and a `CTEST_TLS_VERSION`
variable to control it.

Issue: #25701
2024-03-12 10:46:23 -04:00
Brad King 0aba13a2f3 ctest: Add explicit options for TLS server verification
Add a dedicated `TLSVerify` ctest option and a `CTEST_TLS_VERIFY`
variable to control it.  Deprecate `CurlOptions` because it exposes
internal implementation details.
2024-03-12 10:46:11 -04:00
Brad King 89e99cca63 Merge topic 'ctest-j-default'
5de1e21659 ctest: Allow passing -j without value to choose a contextual default
bbcbcff7d9 cmCTestMultiProcessHandler: Modernize member initialization
7457b474a1 Tests: Remove unnecessary parallel suppression from CTestCoverageCollectGCOV
ae69801d96 Tests: Convert CTestTestSkipReturnCode to RunCMake.ctest_test case
30dda49416 Tests: Convert CTestTestSerialOrder to RunCMake.ctest_test case

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !9315
2024-03-11 10:18:50 -04:00
Brad King 04d8bc6bb9 Merge topic 'ctest-j-default' into release-3.29
5de1e21659 ctest: Allow passing -j without value to choose a contextual default
bbcbcff7d9 cmCTestMultiProcessHandler: Modernize member initialization
7457b474a1 Tests: Remove unnecessary parallel suppression from CTestCoverageCollectGCOV
ae69801d96 Tests: Convert CTestTestSkipReturnCode to RunCMake.ctest_test case
30dda49416 Tests: Convert CTestTestSerialOrder to RunCMake.ctest_test case

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !9315
2024-03-11 10:18:49 -04:00
Brad King 5de1e21659 ctest: Allow passing -j without value to choose a contextual default
Under job server integration, added by commit 80fe56c481 (ctest: Add
support for running under a make job server on POSIX systems,
2023-11-15, v3.29.0-rc1~324^2), use a very high default so that
parallelism is effectively limited only by available job server tokens.

Otherwise, choose a default limit based on the number of processors.

Also allow passing `0` to specify unbounded parallelism.

Fixes: #25739
2024-03-10 11:41:39 -04:00
Brad King 5910da32b9 Merge topic 'doc-https'
53a542936e Help: Convert http URLs to https

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9313
2024-03-08 09:30:13 -05:00
Brad King edc936336e Merge topic 'CUDAToolkit_nvfatbin'
d420ee6b43 FindCUDAToolkit: Add support for nvfatbin added in 12.4

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9311
2024-03-08 09:26:27 -05:00
scivision 53a542936e Help: Convert http URLs to https 2024-03-07 09:42:45 -05:00
Robert Maynard d420ee6b43 FindCUDAToolkit: Add support for nvfatbin added in 12.4 2024-03-05 16:43:09 -05:00
Brad King 2ef3bd9186 ExternalProject: Add TLS version options for https connections
Add a `TLS_VERSION` option and honor `CMAKE_TLS_VERSION` variables.
Also map the version to Git options as we already do for `TLS_VERIFY`.

Issue: #25701
2024-02-28 19:11:29 -05:00
Brad King 434fe8a34b file(DOWNLOAD|UPLOAD): Add CMAKE_TLS_VERSION environment variable
Issue: #25701
2024-02-28 08:40:27 -05:00
Brad King fb9a6cf909 file(DOWNLOAD|UPLOAD): Add CMAKE_TLS_VERSION variable
Issue: #25701
2024-02-28 08:40:27 -05:00
Brad King 8e6776b9f3 file(DOWNLOAD|UPLOAD): Add TLS_VERSION option for https connections
Add an option to specify the minimum allowed TLS version for https
connections.

Issue: #25701
2024-02-28 08:40:14 -05:00
Brad King 7f1bdcc714 Merge topic 'vs-UseDebugLibraries'
721d8b192a VS: Add UseDebugLibraries to vcxproj files by default
47136b6959 VS: Suppress more MSBuild defaults affected by UseDebugLibraries
82a174182a cmVisualStudioGeneratorOptions: Add UsingDebugRuntime method
f498032141 cmVisualStudioGeneratorOptions: Rename {IsDebug => UsingDebugInfo}

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9275
2024-02-23 08:35:04 -05:00