Commit Graph

20 Commits

Author SHA1 Message Date
Ben Boeckel 15bbd1d9b8 Experimental: add an experimental feature gate for import std 2024-04-12 11:46:39 -04:00
Ben Boeckel e8582abc6d cmExperimental: add support for getting a feature value from its name 2024-04-09 20:05:19 -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
Ben Boeckel 0c07f39006 cmExperimental: remove the flag for C++ modules
All the major compilers now have scheduled releases with support for
scanning, so remove the experimental gate.

Fixes: #18355
2023-10-02 10:17:31 -04:00
Ben Boeckel 48ee946fdc cmExperimental: recycle the C++ modules API UUID
Supporting modules on IMPORTED targets is worth an update.
2023-08-17 14:42:54 -04:00
Ben Boeckel be53c75852 cmExperimental: recycle the C++ modules API UUID
`try_compile` and `try_run` now support C++ modules.
2023-07-31 11:59:50 -04:00
Ben Boeckel aad9033b56 cmExperimental: support forwarding associated variables to try_compile
Other variables may be needed to make experimental features actually
work. List them with the experimental flag.
2023-07-31 11:37:47 -04:00
Ben Boeckel f6cf433256 cmExperimental: only forward C++ module support to non-ABI checks
ABI checks never use modules, so don't forward the experimental status
through.
2023-07-31 11:37:47 -04:00
Ben Boeckel 1a538ae07c cmExperimental: use an enum for whether to forward to try_compile 2023-07-31 11:37:47 -04:00
Kyle Edwards b01f5eb079 Windows: Add experimental WindowsKernelModeDriver platform 2023-07-17 16:54:10 -04:00
Kyle Edwards d84681d8f0 try_compile(): Pass down CMAKE_EXPERIMENTAL_* feature flags 2023-07-17 16:53:52 -04:00
Kyle Edwards 1ca82e7a04 cmake_language(): Add undocumented GET_EXPERIMENTAL_FEATURE_ENABLED mode 2023-07-17 15:19:58 -04:00
Kyle Edwards 051cea7b7e cmExperimental: Expose feature data API 2023-07-17 15:19:30 -04:00
Ben Boeckel 57ef353d22 cmExperimental: refresh the C++ modules UUID
The transitive support for Clang is a change in support for the
ecosystem.
2023-07-13 08:40:22 -04:00
Ben Boeckel 7b62a83c6f cxxmodules: update the experimental UUID
Syntactic support for C++ header units has been removed, so a new UUID
is warranted.
2023-05-31 10:57:11 -04:00
Ben Boeckel e84fcbcb0b cxxmodules: support new round of Clang patches
These patches now support the `-MF` output, so remove the `none` support
added just for the old patchset which did not use it.

Also update the flag name to `-fmodule-output=`.

Due to the new Clang module mapper flag, use a new experimental support
UUID as well.
2022-12-15 18:43:47 -05:00
Ben Boeckel 2991e92ea7 cmExperimental: recycle C++20 module support UUID
Visual Studio support warrants a new ID.
2022-12-01 11:42:46 -05:00
Ben Boeckel 48502a3781 cmExperimental: update CXX_MODULE_CMAKE_API UUID
The set of features available has been expanded, so update the UUID.
2022-07-06 10:15:23 -04:00
Ben Boeckel ff30a5397d cmExperimental: add an experimental feature to handle C++ modules 2022-06-14 19:27:30 -04:00
Ben Boeckel fb289dfcd9 cmExperimental: add a mechanism for experimental CMake features 2022-06-14 19:27:30 -04:00