Commit Graph

7441 Commits

Author SHA1 Message Date
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
dea9982990 Merge topic 'patch-help-manually-added-dependencies'
e722f73e40 Help: Document MANUALLY_ADDED_DEPENDENCIES in add_dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9388
2024-04-01 09:42:32 -04:00
Brad King
16dd3b79dc Merge topic 'check-Werror-CMP0066'
cebcc07a80 CheckSymbolExists: Remove -Werror from per-config flags
06c99ce73b CheckSymbolExists: Avoid removing the flag after -Werror
e60281e968 CMakeDetermineCompilerABI: Remove -Werror from per-config flags
6abd25e7fd Help: Fix a typo

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9377
2024-04-01 09:38:57 -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
622e17a0f0 Merge topic 'doc-vsfortran'
7fa0057c74 Help: emphasize need for VS Integrations with oneAPI Fortran

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9387
2024-04-01 09:33:45 -04:00
Brad King
82d945fcfe Merge topic 'doc-vsfortran' into release-3.29
7fa0057c74 Help: emphasize need for VS Integrations with oneAPI Fortran

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9387
2024-04-01 09:33:44 -04:00
Brad King
7139944264 ctest: Fall back to CMake environment variable for TLS server verification
Use `ENV{CMAKE_TLS_VERIFY}` if `CTEST_TLS_VERIFY` or `CMAKE_TLS_VERIFY`
is not set.

Issue: #23608
2024-03-30 09:22:05 -04:00
Brad King
0d250dd021 ExternalProject: Honor CMAKE_TLS_VERIFY environment variable
Issue: #23608
2024-03-30 09:22:05 -04:00
Brad King
46faaf9667 file(DOWNLOAD|UPLOAD): Add CMAKE_TLS_VERIFY environment variable
Issue: #23608
2024-03-30 09:22:04 -04:00
scivision
7fa0057c74 Help: emphasize need for VS Integrations with oneAPI Fortran
Be more explicit that VS Integration is required to use
Intel Fortran with MSVC.

It is common that users do not have VS Integration installed because
oneAPI is then only usable with a narrow range of MSVC versions,
even when oneAPI is used by itself with MSVC as the required backend.
Without VS Integration, a wide range of MSVC versions work as the
backend to oneAPI on Windows.
2024-03-29 15:29:59 -04:00
Brad King
bed32f400e file(DOWNLOAD|UPLOAD): Document TLS_VERSION fallback to environment variable
This was missed by commit 434fe8a34b (file(DOWNLOAD|UPLOAD): Add
CMAKE_TLS_VERSION environment variable, 2024-02-26).
2024-03-29 14:17:58 -04:00
Peter Kokot
e722f73e40 Help: Document MANUALLY_ADDED_DEPENDENCIES in add_dependencies
This adds a note about the MANUALLY_ADDED_DEPENDENCIES target property
to the add_dependencies documentation page. It was introduced in v3.8.0.
2024-03-29 18:43:30 +01: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
Brad King
bd3eaf83a1 Merge topic 'move-install-note'
8cbd6f5754 Help: Fix location of install() note about superseded commands

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9382
2024-03-29 09:15:11 -04:00
Brad King
04c3734a8a Merge topic 'add_custom_command/25796'
89aac1fbe8 add_dependencies: Document behavior under Ninja generators

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9378
2024-03-29 09:14:12 -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
FeRD (Frank Dana)
8cbd6f5754 Help: Fix location of install() note about superseded commands
The note regarding commands superseded by install() somehow wound
up nested under the install(EXPORT) signature, when it has nothing
to do with install(EXPORT). Move it to the top level, immediately
before the Examples section.
2024-03-28 16:59:00 -04:00
Brad King
31aea3d4ca Merge topic 'cpack-wix'
03884f4f32 CPack/WIX: Add support for WiX Toolset v4
cfe5bbdc54 ci: Add scripts to provide WiX 4 package on Windows
c8e2694679 ci: Add script to repackage WiX .NET tool for our needs
e7f5ad8df2 Tests: Prepare RunCMake.CPack_WIX to cover multiple WiX versions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9369
2024-03-28 15:15:51 -04:00
Juan Ramos
89aac1fbe8 add_dependencies: Document behavior under Ninja generators
Closes: #25796
2024-03-28 09:48:08 -07:00
Sung, Po Han
6abd25e7fd Help: Fix a typo 2024-03-28 10:42:38 +08:00
Brad King
cf6083cc6e Merge topic 'doc-linker-vars'
6ba2bbc0f3 Help: Restructure and improve LINKER_TYPE docs
c39bc6e412 Help: CMAKE_<LANG>_USING_LINKER_<TYPE> can be a list of flags
1c7ccefd83 Help: Add custom linker example for CMAKE_<LANG>_USING_LINKER_<TYPE>
aecea7b28b Help: Grammar, typos and wording improvements for linker variables
5b21897c6e Help: Remove stray formatting for try_compile() LINKER_LANGUAGE keyword

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9362
2024-03-27 08:18:10 -04:00
Craig Scott
6ba2bbc0f3 Help: Restructure and improve LINKER_TYPE docs 2024-03-26 08:03:14 +11:00
Craig Scott
c39bc6e412 Help: CMAKE_<LANG>_USING_LINKER_<TYPE> can be a list of flags 2024-03-26 08:03:14 +11:00
Craig Scott
1c7ccefd83 Help: Add custom linker example for CMAKE_<LANG>_USING_LINKER_<TYPE> 2024-03-26 08:03:14 +11:00
Craig Scott
aecea7b28b Help: Grammar, typos and wording improvements for linker variables 2024-03-26 08:03:14 +11: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
729d904050 Merge topic 'cpack-wix'
d15c910a45 CPack/WIX: Remove "candle" from tool-agnostic error message
ac25c645a7 CPack/WIX: Improve formatting of CPACK_WIX_CUSTOM_XMLNS expansion
54d09a2b3f CPack/WIX: Document WiX Toolset v3 tools
d2f4836f8e CPack/WIX: Prepare to provide version-specific WiX templates
438809d3ba cmCPackGenerator: Add option to FindTemplate to use alternate builtin path
4d661e3a92 cmMakefile: Reduce GetModulesFile caller allocations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9363
2024-03-24 14:35:14 -04:00
scivision
be6763f34b Help: cmake(1) --toolchain path relative
other cmake(1) options are relative to cwd. It is surprising
enough that --toolchain is relative to -B or -S that it's
good to call it out here too.
2024-03-22 17:17:31 -04:00
Brad King
54d09a2b3f CPack/WIX: Document WiX Toolset v3 tools
Add a dedicated section describing the `candle` and `light` tools.
Also improve formatting of some variables' documentation.
2024-03-22 09:58:37 -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
Craig Scott
5b21897c6e Help: Remove stray formatting for try_compile() LINKER_LANGUAGE keyword 2024-03-22 20:58:32 +11: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
aa643b66a8 Merge topic 'doc-release-3.29-typos'
eceb368ccc Help: Fix typos in 3.29 docs
31fb693d06 Help: Fix typos and grammar in pre-3.29 docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9353
2024-03-19 10:10:16 -04:00