summaryrefslogtreecommitdiffstats
path: root/Source/cmExperimental.cxx
Commit message (Collapse)AuthorAgeFilesLines
* cmExperimental: Make CPS-export experimental notice more consistentMatthew Woehlke2024-11-191-2/+2
| | | | | | There is an inadvertent inconsistency in the notice for the CPS export experimental feature as compared to other experimental feature notices. Change it to be consistent.
* WindowsKernelModeDriver: Switch to appending to variablesJoseph Snyder2024-10-241-1/+1
| | | | | | | | When using the WindowsKernelModeDriver, do not add the new paths if the variable was not previously defined. Instead, append them to the existing value. Add a new GUID for the Experimental mode gate
* Merge topic 'windows-kernel-mode-driver-includes'Brad King2024-09-051-1/+1
|\ | | | | | | | | | | | | b151bcfc9e WindowsKernelModeDriver: Add WDK include and link paths on MSVC Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !9705
| * WindowsKernelModeDriver: Add WDK include and link paths on MSVCJoseph Snyder2024-09-031-1/+1
| | | | | | | | | | | | | | | | | | Detect Windows Kernel-Mode Driver include directories and library search paths from the WDK command-line environment. Require toolchain files to specify the KMDF target version via a new variable. Since this changes the behavior of the WindowsKernelModeDriver experimental feature, update its UUID.
* | cmExperimental: gate build database support behind a flagBen Boeckel2024-09-031-0/+9
|/ | | | | Given that the feature currently only supports C++ sources and is not formally accepted by ISO yet, gate it behind a flag.
* export: Add initial CPS supportMatthew Woehlke2024-08-141-0/+10
| | | | | | | | | | | | | | | | | Add initial support for exporting (install only, for now) Common Package Specification (https://cps-org.github.io/cps/) format package descriptions. This has some limitations, such as not supporting generator expressions (as these cannot be portably exported), and only partially supporting transitive dependencies, but should be usable for at least some simple cases. (Actually, $<LINK_ONLY> is theoretically supportable, but is not yet implemented.) This still needs tests; these will be added in the next commit. Other potential improvements include support for language-specific compile definitions and inferring some package properties from project properties. Additionally, there is no module support yet; this is partly pending on having a tool agnostic format for providing the necessary information.
* Experimental: add an experimental feature gate for `import std`Ben Boeckel2024-04-121-0/+9
|
* cmExperimental: add support for getting a feature value from its nameBen Boeckel2024-04-101-0/+14
|
* EXPORT_PACKAGE_DEPENDENCIES: Add experimental feature gateBrad King2024-03-121-0/+9
| | | | | | | Some design concerns have been raised after trying the 3.29 release candidates. Avoid committing to a stable public interface for now. Issue: #25767
* cmExperimental: remove the flag for C++ modulesBen Boeckel2023-10-021-11/+0
| | | | | | | All the major compilers now have scheduled releases with support for scanning, so remove the experimental gate. Fixes: #18355
* cmExperimental: recycle the C++ modules API UUIDBen Boeckel2023-08-171-1/+1
| | | | Supporting modules on IMPORTED targets is worth an update.
* cmExperimental: recycle the C++ modules API UUIDBen Boeckel2023-07-311-1/+1
| | | | `try_compile` and `try_run` now support C++ modules.
* cmExperimental: support forwarding associated variables to `try_compile`Ben Boeckel2023-07-311-4/+12
| | | | | Other variables may be needed to make experimental features actually work. List them with the experimental flag.
* cmExperimental: only forward C++ module support to non-ABI checksBen Boeckel2023-07-311-2/+1
| | | | | ABI checks never use modules, so don't forward the experimental status through.
* cmExperimental: use an `enum` for whether to forward to try_compileBen Boeckel2023-07-311-3/+3
|
* Windows: Add experimental WindowsKernelModeDriver platformKyle Edwards2023-07-171-0/+6
|
* try_compile(): Pass down CMAKE_EXPERIMENTAL_* feature flagsKyle Edwards2023-07-171-0/+1
|
* cmake_language(): Add undocumented GET_EXPERIMENTAL_FEATURE_ENABLED modeKyle Edwards2023-07-171-1/+1
|
* cmExperimental: Expose feature data APIKyle Edwards2023-07-171-10/+8
|
* cmExperimental: refresh the C++ modules UUIDBen Boeckel2023-07-131-1/+1
| | | | | The transitive support for Clang is a change in support for the ecosystem.
* cxxmodules: update the experimental UUIDBen Boeckel2023-05-311-1/+1
| | | | | Syntactic support for C++ header units has been removed, so a new UUID is warranted.
* cxxmodules: support new round of Clang patchesBen Boeckel2022-12-151-1/+1
| | | | | | | | | | 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.
* cmExperimental: recycle C++20 module support UUIDBen Boeckel2022-12-011-1/+1
| | | | Visual Studio support warrants a new ID.
* cmExperimental: update `CXX_MODULE_CMAKE_API` UUIDBen Boeckel2022-07-061-1/+1
| | | | The set of features available has been expanded, so update the UUID.
* cmExperimental: add an experimental feature to handle C++ modulesBen Boeckel2022-06-141-1/+8
|
* cmExperimental: add a mechanism for experimental CMake featuresBen Boeckel2022-06-141-0/+56