Commit Graph

58263 Commits

Author SHA1 Message Date
Brad King 8a18e82e95 cmCMakePathCommand: Report keyword errors via argument parser results 2022-07-22 10:32:25 -04:00
Brad King 7e4a9afa1a cmCMakeHost*Command: Report keyword errors via argument parser results 2022-07-22 10:32:24 -04:00
Brad King 74ec6b63c2 cmFileCommand: Report keyword errors via argument parser results 2022-07-22 10:32:24 -04:00
Brad King e56108f629 cmExecuteProcessCommand: Report keyword errors via argument parser results 2022-07-22 10:32:24 -04:00
Brad King b7c82b26b0 cmArgumentParser: Capture keyword errors in parse results
Since commit f46b2e9142 (cmArgumentParser: Model maybe-missing string
with wrapper type, 2022-07-06) we know during parsing whether or not it
is an error for a keyword to be missing a value.  Record such errors in
the parse results structure.  Offer clients a helper method to report
them.  This provides clients with an alternative to manually checking
`keywordsMissingValue` and generating their own error message.
2022-07-22 10:32:24 -04:00
Brad King 50876f6b9a cmArgumentParser: Add structure to capture operational results
Create a way for the parser to record errors or incidental information
about the argument parsing operation that clients can inspect afterward.
Offer clients a way to hold the structure as part of their arguments
structure.
2022-07-22 10:32:18 -04:00
Brad King 5955ec1992 cmArgumentParser: Store keyword action map with explicit name 2022-07-22 10:32:17 -04:00
Brad King 119e1f7fbc cmArgumentParser: Factor out common static/dynamic implementation 2022-07-22 10:32:08 -04:00
Brad King 84b335c286 cmArgumentParser: Track pending keyword explicitly
Avoid allocating missing keyword vector unnecessarily.
2022-07-20 16:03:13 -04:00
Brad King a77b9c0ece cmArgumentParser: De-duplicate parse loop 2022-07-20 16:03:13 -04:00
Brad King 197ef69aa1 cmArgumentParser: Simplify internal method signatures
Record `Parse` parameters during construction of the internal instance
instead of passing them to every method.
2022-07-20 16:03:12 -04:00
Brad King e98fd9d87e cmFileCommand: Use cm::optional for keyword argument presence 2022-07-20 16:03:12 -04:00
Brad King 31d7aa5e3c cmCMakePathCommand: Use cm::optional for keyword argument presence 2022-07-20 16:03:12 -04:00
Brad King 316960ded0 cmInstallCommand: Drop unused local variable 2022-07-20 16:03:12 -04:00
Brad King 1b095729da Tests: Add RunCMake.cmake_path cases for BASE_DIRECTORY missing value 2022-07-20 16:03:12 -04:00
Brad King 5512057c13 Tests: Add RunCMake.file-CHMOD cases for keywords missing values
These make the existing `no-perms` case redundant, so repurpose it
to replace `no-keyword`.
2022-07-20 16:03:12 -04:00
Brad King 1cf2c94c69 Tests: Simplify RunCMake.file-CHMOD cases
Run each case as a `cmake -P` script instead of a full project.
The caller handles build directory removal and creation.
2022-07-20 16:03:12 -04:00
Brad King 11a0f72ac0 Tests: Simplify RunCMake.file-CHMOD case names
The `CHMOD-` prefix is redundant with the overall test name.
2022-07-20 16:03:12 -04:00
Brad King c2c111948c Merge branch 'release-3.24' 2022-07-18 14:58:52 -04:00
Brad King 0a621cbbaa Merge branch 'release-3.23' 2022-07-18 14:58:51 -04:00
Brad King a47b203eeb Merge branch 'release-3.23' into release-3.24 2022-07-18 14:58:46 -04:00
Brad King 64b22cd459 Merge branch 'export-try-compile-crash' into release-3.23
Merge-request: !7472
2022-07-18 14:57:58 -04:00
Brad King 2757d85791 Merge branch 'release-3.24' 2022-07-18 11:01:59 -04:00
Brad King 7647cfe9d6 Merge topic 'doc-LINK_LIBRARIES_ONLY_TARGETS_direct_deps'
f585c61667 Help: LINK_LIBRARIES_ONLY_TARGETS also checks injected direct libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7466
2022-07-18 11:01:59 -04:00
Brad King 9d9c09b3df Merge topic 'doc-LINK_LIBRARIES_ONLY_TARGETS_direct_deps' into release-3.24
f585c61667 Help: LINK_LIBRARIES_ONLY_TARGETS also checks injected direct libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7466
2022-07-18 11:01:58 -04:00
Kyle Edwards 5ef74c4053 Merge topic 'ninja-multi-compile-commands-duplicates'
a186c1aff6 Ninja Multi-Config: Deduplicate compile_commands.json for cross configs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Daniel Hannon <hello111f@gmail.com>
Merge-request: !7477
2022-07-18 10:19:43 -04:00
Kitware Robot 9590e3bd80 CMake Nightly Date Stamp 2022-07-18 00:01:14 -04:00
Kitware Robot b1a0072d2a CMake Nightly Date Stamp 2022-07-17 00:01:07 -04:00
Kitware Robot 831757ead3 CMake Nightly Date Stamp 2022-07-16 00:01:08 -04:00
Kyle Edwards a186c1aff6 Ninja Multi-Config: Deduplicate compile_commands.json for cross configs
compile_commands.json was being written for every permutation of
cross configurations. Deduplicate so only one command is output
for each configuration.

Fixes: #23733
2022-07-15 16:22:21 -04:00
Kitware Robot cc803ce680 CMake Nightly Date Stamp 2022-07-15 00:01:09 -04:00
Kyle Edwards 8a3004d5c2 Merge branch 'release-3.24' 2022-07-14 09:56:04 -04:00
Kyle Edwards cf8fdf5e43 Merge topic 'export-try-compile-crash'
29c7546a61 cmGlobalGenerator: Only compute build files for all targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7472
2022-07-14 09:56:04 -04:00
Kyle Edwards df559cd8c8 Merge topic 'export-try-compile-crash' into release-3.24
29c7546a61 cmGlobalGenerator: Only compute build files for all targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7472
2022-07-14 09:56:03 -04:00
Kyle Edwards b051fa5392 Merge topic 'vs-msb-8028'
d99d33d749 VS: Generate IntDir property for INTERFACE libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7462
2022-07-14 09:54:46 -04:00
Kitware Robot 7fa5b3eecc CMake Nightly Date Stamp 2022-07-14 00:01:07 -04:00
Kyle Edwards 29c7546a61 cmGlobalGenerator: Only compute build files for all targets
If we're creating generation objects for imported targets only, we
don't need the export sets. Only compute build file generators
if generating for all targets.

Fixes: #23709
2022-07-13 11:34:34 -04:00
Kitware Robot 6a35e799fd CMake Nightly Date Stamp 2022-07-13 00:01:06 -04:00
Kitware Robot 2b37f48009 CMake Nightly Date Stamp 2022-07-12 00:01:06 -04:00
Kitware Robot 6212038992 CMake Nightly Date Stamp 2022-07-11 00:01:16 -04:00
Marc Chevrier f1150f30cd Merge topic 'better_doxy_ver_check'
eaec9cf65d FindDoxygen: Implement more complete version checking

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !7442
2022-07-10 04:42:24 -04:00
Craig Scott f585c61667 Help: LINK_LIBRARIES_ONLY_TARGETS also checks injected direct libraries
The INTERFACE_LINK_LIBRARIES_DIRECT property can add direct
link dependencies to the target at the head of the dependency chain.
The checks associated with LINK_LIBRARIES_ONLY_TARGETS also apply
to these link items, but the documentation wasn't updated to reflect
this when the INTERFACE_LINK_LIBRARIES_DIRECT support was added.
2022-07-10 18:15:22 +10:00
Kitware Robot 8a32a96db6 CMake Nightly Date Stamp 2022-07-10 00:01:08 -04:00
Kitware Robot 6734c2af47 CMake Nightly Date Stamp 2022-07-09 00:01:09 -04:00
Brad King c82bd52598 Merge branch 'release-3.24' 2022-07-08 12:18:22 -04:00
Brad King cec0bef500 Merge branch 'release-3.23' 2022-07-08 12:18:20 -04:00
Brad King efd9dfff69 Merge branch 'release-3.22' 2022-07-08 12:18:19 -04:00
Brad King b2d550f45b Merge branch 'release-3.23' into release-3.24 2022-07-08 12:18:12 -04:00
Brad King 3bae50e830 Merge branch 'release-3.22' into release-3.23 2022-07-08 12:18:00 -04:00
Brad King c1d413eacb Merge branch 'release-3.24' 2022-07-08 12:16:23 -04:00