Commit Graph

36238 Commits

Author SHA1 Message Date
Kitware Robot 605ecca2a4 CMake Nightly Date Stamp 2024-09-10 00:01:23 -04:00
Craig Scott ec519f3e97 add_custom_command: Validate arguments more rigorously
Add a new CMP0175 policy to preserve backward compatibility
for projects that were using unsupported keywords or arguments.

Fixes: #26096, #21089, #18976
2024-09-10 08:19:09 +10:00
Martin Duffy a980418f7b cmake --install: Fix concurrency level of parallel install
- Increment the number of currently working installs
- Call uv_run only once
2024-09-09 17:36:08 -04:00
Kitware Robot 6c120379df CMake Nightly Date Stamp 2024-09-09 00:06:27 -04:00
Kitware Robot 26791532be CMake Nightly Date Stamp 2024-09-08 00:01:12 -04:00
Kitware Robot 9f150960ad CMake Nightly Date Stamp 2024-09-07 00:01:15 -04:00
Brad King a53e8e4e81 Merge topic 'vs-instance'
e801d2b243 VS: Make CMAKE_GENERATOR_INSTANCE usable without VS Installer

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9794
2024-09-06 11:35:08 -04:00
Kitware Robot 2001edfef7 CMake Nightly Date Stamp 2024-09-06 00:01:20 -04:00
Brad King 9c5f6d22f3 Merge topic 'windows-kernel-mode-driver-includes'
b151bcfc9e WindowsKernelModeDriver: Add WDK include and link paths on MSVC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9705
2024-09-05 09:21:35 -04:00
Brad King 2daeb0b504 Merge topic 'build-databases'
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
2024-09-05 09:20:23 -04:00
Brad King cc527ab583 Merge topic 'fix-Wdeprecated-redundant-constexpr-static-def'
1650683c9d cmExportPackageInfoGenerator: Fix -Wdeprecated-redundant-constexpr-static-def

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9792
2024-09-05 09:18:20 -04:00
Brad King def3073d46 Merge topic 'update-kwsys'
7016a75b87 Merge branch 'upstream-KWSys' into update-kwsys
65ecc7b190 KWSys 2024-09-03 (9c5f00b7)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9790
2024-09-05 09:15:49 -04:00
Kitware Robot 3bf4bcba11 CMake Nightly Date Stamp 2024-09-05 00:01:24 -04:00
huangqinjin e801d2b243 VS: Make CMAKE_GENERATOR_INSTANCE usable without VS Installer
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
2024-09-04 14:14:11 -04:00
Brad King 1650683c9d cmExportPackageInfoGenerator: Fix -Wdeprecated-redundant-constexpr-static-def
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.
2024-09-04 08:37:15 -04:00
Brad King 7b51809d9a Merge topic 'msvc-v100-manifest-tooling'
09a47c7972 MSVC: Restore support for non-incremental linking with v100 toolset and older

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9783
2024-09-04 08:11:42 -04:00
Kitware Robot 7b59f55b31 CMake Nightly Date Stamp 2024-09-04 00:01:44 -04:00
Joseph Snyder b151bcfc9e WindowsKernelModeDriver: Add WDK include and link paths on MSVC
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.
2024-09-03 11:10:35 -04:00
Brad King 7016a75b87 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2024-09-03 (9c5f00b7)
2024-09-03 11:04:29 -04:00
Rüdiger Ihle 09a47c7972 MSVC: Restore support for non-incremental linking with v100 toolset and older
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
2024-09-03 10:58:28 -04:00
Ben Boeckel e77655555c cmExperimental: gate build database support behind a flag
Given that the feature currently only supports C++ sources and is not
formally accepted by ISO yet, gate it behind a flag.
2024-09-03 10:05:40 -04:00
Kitware Robot fa69f7587e CMake Nightly Date Stamp 2024-09-03 00:01:29 -04:00
Kitware Robot 9673f61be1 CMake Nightly Date Stamp 2024-09-02 00:03:08 -04:00
Kitware Robot ae6bd4d5b6 CMake Nightly Date Stamp 2024-09-01 00:02:03 -04:00
Kitware Robot 0d0ae4b577 CMake Nightly Date Stamp 2024-08-31 00:01:30 -04:00
Kitware Robot 7537fec125 CMake Nightly Date Stamp 2024-08-30 00:01:17 -04:00
Brad King 3cc9cb6ee2 CMake 3.30.3 2024-08-29 15:37:11 -04:00
Brad King e25f95c4cc Merge topic 'standard-link-directories'
20e9b59d5e Linking: Add CMAKE_LANG_STANDARD_LINK_DIRECTORIES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9707
2024-08-29 08:31:17 -04:00
Brad King a2c9e59436 Merge topic 'remove-vs12-generator'
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
2024-08-29 08:29:14 -04:00
Brad King a69f063062 Merge topic 'project_ensure_non_cache_variables'
c1ece78d11 project: non cache <project> prefix variables are also created

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !9779
2024-08-29 08:26:42 -04:00
Kitware Robot c43b116fcf CMake Nightly Date Stamp 2024-08-29 00:01:12 -04:00
Vito Gamberini 20e9b59d5e Linking: Add CMAKE_LANG_STANDARD_LINK_DIRECTORIES
Closes: #18222
2024-08-28 15:54:43 -04:00
Brad King 241f923a6f Drop Visual Studio 12 2013 generator
This generator has been deprecated since CMake 3.28.  Remove it.
2024-08-28 14:13:05 -04:00
Brad King 1d6535c881 Merge topic 'nullptr-comp'
58da4aa47d Source: Avoid comparing pointers to nullptr

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !9778
2024-08-28 10:08:11 -04:00
Brad King 7630fc9d2b Merge topic 'JSONHelpers-FilteredObject'
0c17cc9ef5 cmJSONHelpers.h: Add `FilteredObject` helper

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9751
2024-08-28 10:07:00 -04:00
Kitware Robot 9b421a5fa3 CMake Nightly Date Stamp 2024-08-28 00:01:56 -04:00
Ben Boeckel 84bc710d84 cmGlobalGenerator: generate build database files for targets 2024-08-27 12:37:36 -04:00
Ben Boeckel 670f753f24 cmDyndepCollation: write build database metadata
Generators will hook this up into the build graph as needed.
2024-08-27 12:37:36 -04:00
Ben Boeckel dcf9a66ffe cxxmodules: plumb control data for exporting build databases
This includes the target property, its initializing variable, its
initializing environment variable, and updating related docs to mention
the new bits.
2024-08-27 12:37:36 -04:00
Ben Boeckel bea4fb7cd6 cmDyndepCollation: update template module database files if requested 2024-08-27 12:37:35 -04:00
Ben Boeckel 9c0491a3e4 cmDyndepCollation: write out scanned source information too
This is required to fill in the `requires` field for sources using
modules that do not provide them.
2024-08-27 12:37:35 -04:00
Ben Boeckel 48faa19c19 cmBuildDatabase: support writing template files 2024-08-27 12:37:34 -04:00
Ben Boeckel cedfaa010f cmGeneratorTarget: add a method to build classified command lines
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.
2024-08-27 12:37:21 -04:00
Ben Boeckel c96ea5684d cmcmd: add a tool to manage module compilation databases
Includes verification and merging subcommands to start with.
2024-08-27 12:37:13 -04:00
Robert Maynard c1ece78d11 project: non cache <project> prefix variables are also created
Fixes #26243, #25714
2024-08-27 12:37:07 -04:00
Ben Boeckel 4df5a6fbb4 cmBuildDatabase: add initial structures
This class represents a build database as introduced by P2977R0. It
includes support for reading, writing, and merging.

See: http://wg21.link/p2977r0
2024-08-27 12:36:46 -04:00
Ben Boeckel 7b8b751637 cmGlobalGenerator: add a method to make an output-formatted string
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.
2024-08-27 11:30:23 -04:00
Ben Boeckel c48affe037 cmMakefile: support "after generator target" generator actions
These actions may require additional information gathered during
generation. Run them at the appropriate time.
2024-08-27 11:30:23 -04:00
Ben Boeckel c66821b22b cmGeneratorTarget: add the concept of a "family" name
With synthetic targets, a name which is the same between all synthetic
targets which share a base target is warranted.
2024-08-27 11:30:23 -04:00
Ben Boeckel 5b89e46c11 cmCommandLineArgument: add missing header to source list 2024-08-27 11:30:23 -04:00