Commit Graph

70673 Commits

Author SHA1 Message Date
Evan Wilde b36175abdb Swift: Detect module triple from compiler
On Swift versions later than 5.2, the compiler is able to specify target
info, including the module triple among other properties about the
underlying platform. Grab the triple and save it in the compiler info.
2025-05-14 14:54:29 -07:00
Brad King 6e111c39b9 Merge branch 'release-4.0' 2025-05-14 16:38:22 -04:00
Brad King 82c1af62d6 Merge branch 'release-3.31' 2025-05-14 16:38:06 -04:00
Brad King 2794ceda81 Merge branch 'release-3.31' into release-4.0 2025-05-14 16:37:54 -04:00
Brad King dadc015020 Merge topic 'ci-no-kwsys-console-buf' into release-3.31
16ceddc77e ci: Disable KWSys ConsoleBuf test that breaks on Windows Terminal 1.22+

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10784
2025-05-14 16:36:47 -04:00
Brad King 9cb18220ef Merge branch 'release-4.0' 2025-05-14 16:36:11 -04:00
Brad King 8674fa5726 Merge topic 'ci-no-kwsys-console-buf'
552ca0fcde Merge branch 'backport-ci-no-kwsys-console-buf' into ci-no-kwsys-console-buf
16ceddc77e ci: Disable KWSys ConsoleBuf test that breaks on Windows Terminal 1.22+

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10784
2025-05-14 16:36:11 -04:00
Brad King dc59932f7f Merge topic 'ci-no-kwsys-console-buf' into release-4.0
16ceddc77e ci: Disable KWSys ConsoleBuf test that breaks on Windows Terminal 1.22+

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10784
2025-05-14 16:36:08 -04:00
Brad King 552ca0fcde Merge branch 'backport-ci-no-kwsys-console-buf' into ci-no-kwsys-console-buf
The test no longer exists in post-4.0 development, so use `-s ours`
to avoid adding the exclusion.
2025-05-14 16:29:54 -04:00
Brad King 16ceddc77e ci: Disable KWSys ConsoleBuf test that breaks on Windows Terminal 1.22+
We've removed use of KWSys ConsoleBuf in post-4.0 commit 3e88020aed
(StdIo: Replace uses of KWSys ConsoleBuf with StdIo::Console,
2025-05-08).  There is no need to run its test anymore.

Windows-Terminal-Issue: https://github.com/microsoft/terminal/issues/18748
2025-05-14 15:36:11 -04:00
Brad King 3da8686d26 Merge branch 'release-4.0' 2025-05-14 15:32:31 -04:00
Brad King 37709369ff Merge branch 'release-3.31' 2025-05-14 15:32:24 -04:00
Brad King 347b88129a Merge branch 'release-3.31' into release-4.0 2025-05-14 15:32:14 -04:00
Brad King 0883fac39a Merge topic 'clang-libstdcpp-3.31' into release-3.31
802f261d62 experimental/CXXModules: recycle the UUID
c88f3ea1e4 Clang/CXXImportStd: support `-stdlib=libstdc++`
ba5c9703b1 Experimental: recycle the `import std` UUID
9cad48c6cb gcc: support `import std`
acbada3df6 Tests/RunCMake: handle C++26 support where needed

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10778
2025-05-14 15:31:47 -04:00
Brad King 0c6eeb4bcc Merge branch 'release-4.0' into master 2025-05-14 15:29:14 -04:00
Brad King ce7e988ab1 Merge topic 'clang-libstdcpp-3.31-4.0' into release-4.0
342f4e195f Merge branch 'clang-libstdcpp-3.31' into clang-libstdcpp-3.31-4.0
d26d818fa1 Merge branch 'clang-libstdcpp-3.31' into clang-libstdcpp-3.31-4.0
802f261d62 experimental/CXXModules: recycle the UUID
c88f3ea1e4 Clang/CXXImportStd: support `-stdlib=libstdc++`
ba5c9703b1 Experimental: recycle the `import std` UUID
9cad48c6cb gcc: support `import std`
acbada3df6 Tests/RunCMake: handle C++26 support where needed

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10778
2025-05-14 15:29:13 -04:00
Ben Boeckel 342f4e195f Merge branch 'clang-libstdcpp-3.31' into clang-libstdcpp-3.31-4.0
* clang-libstdcpp-3.31-bp:
  experimental/CXXModules: recycle the UUID
  Clang/CXXImportStd: support `-stdlib=libstdc++`
2025-05-14 20:18:56 +02:00
Ben Boeckel d26d818fa1 Merge branch 'clang-libstdcpp-3.31' into clang-libstdcpp-3.31-4.0
* topic 'clang-libstdcpp-3.31' (early part):
  Experimental: recycle the `import std` UUID
  gcc: support `import std`
  Tests/RunCMake: handle C++26 support where needed
2025-05-14 20:18:31 +02:00
Ben Boeckel 802f261d62 experimental/CXXModules: recycle the UUID
Now that `clang -stdlib=libstdc++` is supported.

(cherry picked from commit 52e2785018 (experimental/CXXModules: recycle
the UUID, 2025-04-30))
2025-05-14 20:15:57 +02:00
Ben Boeckel c88f3ea1e4 Clang/CXXImportStd: support -stdlib=libstdc++
Fedora 42 ships `clang` with `libstdc++` as the default. Detect and
support `import std;` in this configuration.
2025-05-14 20:15:26 +02:00
Ben Boeckel ba5c9703b1 Experimental: recycle the import std UUID
Now that GCC is supported, update the feature UUID.

(cherry picked from commit 469175c2e6 (Experimental: recycle the `import
std` UUID, 2024-11-21))
2025-05-14 20:15:10 +02:00
Ben Boeckel 9cad48c6cb gcc: support import std
(cherry picked from commit a980dab9b1 (gcc: support `import std`,
2024-11-21))
2025-05-14 20:14:44 +02:00
Brad King c4b4e26019 Merge topic 'stdio-console'
ce6b0f9e10 ci: Drop unused build artifact
7cf81cdb04 Merge branch 'upstream-KWSys' into stdio-console
ad2d94cb9d KWSys 2025-05-14 (1d72955e)
40b0db5ffb cmConsoleBuf: Remove unused infrastructure
57b24e8fef StdIo: Init() automatically in Console()
3e88020aed StdIo: Replace uses of KWSys ConsoleBuf with StdIo::Console
f9f1f9a8cd StdIo: Add a Windows Console adaptor for cin, cout, and cerr

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10769
2025-05-14 10:11:23 -04:00
Ben Boeckel acbada3df6 Tests/RunCMake: handle C++26 support where needed
(cherry picked from commit 2791b7564b (Tests/RunCMake: handle C++26
support where needed, 2024-12-31, v4.0.0-rc1~238^2~3))
2025-05-14 15:39:12 +02:00
Brad King ce6b0f9e10 ci: Drop unused build artifact
KWSys no longer has a `testConsoleBufChild.exe`.
2025-05-14 09:05:21 -04:00
Brad King 7cf81cdb04 Merge branch 'upstream-KWSys' into stdio-console
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2025-05-14 (1d72955e)
2025-05-14 09:05:09 -04:00
KWSys Upstream ad2d94cb9d KWSys 2025-05-14 (1d72955e)
Code extracted from:

    https://gitlab.kitware.com/utils/kwsys.git

at commit 1d72955e085992935140f6504990f3edf3894f9e (master).

Upstream Shortlog
-----------------

Brad King (1):
      713d53a4 ConsoleBuf: Remove this component of KWSys
2025-05-14 09:05:08 -04:00
Brad King 7deaa4dfb8 Merge topic 'warn-invalid-experimental'
9036aa10f3 Experimental: provide useful warning for invalid experimental variable values
b05e5403d9 Experimental: Avoid mutating statically allocated data
348ba701fe Tests/RunCMake/cmake_language: Expect experimental warnings more precisely

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10767
2025-05-14 09:02:29 -04:00
Brad King b226b9e21c Merge topic 'patch-FindEnvModules'
22ff5620b3 FindEnvModules: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10773
2025-05-14 08:57:46 -04:00
Brad King ef726f2e79 Merge topic 'patch-FindHg'
50769f3f10 FindHg: Sync module documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10770
2025-05-14 08:52:57 -04:00
Brad King 4d2c274ab6 Merge topic 'patch-FindSubversion'
95de9682eb FindSubversion: Sync documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10771
2025-05-14 08:48:27 -04:00
Brad King 3bf632965a Merge branch 'release-4.0' 2025-05-14 08:36:47 -04:00
Brad King 25fa986f6a Merge branch 'release-3.31' 2025-05-14 08:36:40 -04:00
Brad King 668c802c22 Merge branch 'release-3.31' into release-4.0 2025-05-14 08:36:17 -04:00
Brad King e1def70605 Merge branch 'release-4.0' 2025-05-14 08:35:24 -04:00
Brad King 0cde9c8d69 Merge topic 'cuda-13.0-prep'
b62f3257f2 CUDA/Clang: Update nvcc default architectures with CUDA 13 deprecations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !10671
2025-05-14 08:35:24 -04:00
Brad King 4137187805 Merge topic 'cuda-13.0-prep' into release-4.0
b62f3257f2 CUDA/Clang: Update nvcc default architectures with CUDA 13 deprecations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !10671
2025-05-14 08:35:22 -04:00
Brad King e466e7d702 Merge topic 'cuda-13.0-prep' into release-3.31
b62f3257f2 CUDA/Clang: Update nvcc default architectures with CUDA 13 deprecations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10671
2025-05-14 08:33:52 -04:00
Kitware Robot c3d20800c6 CMake Nightly Date Stamp 2025-05-14 00:04:33 -04:00
Peter Kokot 22ff5620b3 FindEnvModules: Update documentation
- Updated and synced module documentation with other similar find
  modules.
- Renamed "functions" to more general word "commands". Knowing if some
  module command is a function or a macro is from the user PoV mostly
  irrelevant and it also fits nicer with the rest of the modules.
- Reworded descriptions to make this module slightly clearer to
  understand.
- Moved examples section after commands and added example descriptions.
2025-05-13 19:05:23 +02:00
Brad King 40b0db5ffb cmConsoleBuf: Remove unused infrastructure
It has been replaced by `cm::StdIo::Console`.
2025-05-13 10:53:36 -04:00
Brad King 69d4fbf2e2 Merge topic 'patch-FindDoxygen'
d024ddb18a FindDoxygen: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10754
2025-05-13 10:47:18 -04:00
Brad King 68d07edc72 Merge topic 'patch-FindPackageMessage'
50224e00cc FindPackageMessage: Refactor module introduction

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10763
2025-05-13 10:39:57 -04:00
Brad King 57b24e8fef StdIo: Init() automatically in Console()
Applications that initialize a `cm::StdIo::Console` immediately no
longer need to `cm::StdIo::Init` first.
2025-05-13 10:35:47 -04:00
Brad King 3e88020aed StdIo: Replace uses of KWSys ConsoleBuf with StdIo::Console
Issue: #26924
2025-05-13 10:35:47 -04:00
Brad King f9f1f9a8cd StdIo: Add a Windows Console adaptor for cin, cout, and cerr
On Windows, the only reliable way to read/write Unicode text from/to a
Console is to use `ReadConsoleW` and `WriteConsoleW` and convert from/to
wide-character encoding.  When `cin`, `cout`, and/or `cerr` are attached
to a Windows Console, use a custom C++ `streambuf` to handle the I/O.

This will replace KWSys ConsoleBuf, whose implementation is more complex
to support narrow output streams on Windows non-UTF-8 narrow encodings.
We only need to support UTF-8.

Issue: #26924
2025-05-13 10:35:47 -04:00
Brad King 97c4a408ec Merge topic 'patch-CMakeDependentOption'
f70f972562 CMakeDependentOption: Sync documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10768
2025-05-13 10:32:43 -04:00
Bill Hoffman 9036aa10f3 Experimental: provide useful warning for invalid experimental variable values
Provide a useful warning if an invalid UUID is given in a
`CMAKE_EXPERIMENTAL_` variable.  This can occur if a different CMake
version is used than the one that the feature was implemented with, or
if there is a simple typo in the value.  It should reduce confusion with
the use of experimental features.

Co-authored-by: Brad King <brad.king@kitware.com>
2025-05-13 10:29:58 -04:00
Brad King c8411d9dd0 Merge topic 'patch-CMakeAddFortranSubdirectory'
8496710537 CMakeAddFortranSubdirectory: Extend module introduction

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10764
2025-05-13 10:26:32 -04:00
Brad King b05e5403d9 Experimental: Avoid mutating statically allocated data 2025-05-13 10:25:02 -04:00