Add a new CMP0175 policy to preserve backward compatibility
for projects that were using unsupported keywords or arguments.
Fixes: #26096, #21089, #18976
e77655555c cmExperimental: gate build database support behind a flag
23cbeb5035 ci: enable `build_database` CXXModules tests
6863c1d823 Tests/CXXModules: add tests for module commands
123107c1a4 Tests/CXXModules: add support for running targets under a given config
438038b5e1 Tests/CXXModules: support building specific targets of example trees
84bc710d84 cmGlobalGenerator: generate build database files for targets
670f753f24 cmDyndepCollation: write build database metadata
dcf9a66ffe cxxmodules: plumb control data for exporting build databases
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9708
On Windows and Wine, both the COM interface and `vswhere` might not be
available. `CMAKE_GENERATOR_INSTANCE` is still supposed to work since
commit 195d47e213 (VS: Allow CMAKE_GENERATOR_INSTANCE to specify
portable instance, 2021-10-21, v3.23.0-rc1~452^2).
Issue: #21639
In commit 3d52d70b84 (export: Add initial CPS support, 2024-07-26) we
added a static definition of a `constexpr` member to help older
AppleClang and SunPro linkers. This is deprecated by C++17 and Clang
now warns about it, so preserving the approach would require complex
conditions. There is no significant benefit to `constexpr` here, so use
a traditional file-scoped definition instead.
09a47c7972 MSVC: Restore support for non-incremental linking with v100 toolset and older
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9783
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.
Since commit 0b552eb877 (MSVC: Embed manifests directly for
non-incremental vs_link_exe links, 2023-02-20, v3.27.0-rc1~438^2) we use
`/MANIFEST:EMBED`, but that is not supported by older MSVC linkers.
Restore use of the standalone manifest tool.
Update `Tests/MSManifest` to recognize `dpiAwareness` in the manifest
content as written by MSVC v100 tooling.
Fixes: #26179
241f923a6f Drop Visual Studio 12 2013 generator
7c1b671c3a Tests: Disable VSXaml test pending update to newer VS versions
9042aa1af5 Tests: Remove WinCE tests
810e33f67a Tests: Simplify tests for Visual Studio generators
1ad39a9cf8 UseSWIG: Simplify test for Visual Studio generators
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9782
This includes the target property, its initializing variable, its
initializing environment variable, and updating related docs to mention
the new bits.
This is essentially an extraction of the `Ninja` generator's command
line building logic. Porting generators to reuse this construction is a
task for the future.
This is needed to inject arguments through flag generation mechanisms so
that they can all be unescaped uniformly. Eventually, these methods
should go away and the escape/unescape dance be avoided completely.