Commit Graph

32676 Commits

Author SHA1 Message Date
Brad King
f44b79ad9b Merge topic 'try_compile-cleanup'
e1d4984706 Tests: Add RunCMake.try_compile case covering empty value arguments
6a85813806 Tests: Add RunCMake.try_compile case covering list arguments with no values
7a5b1b6010 cmCoreTryCompile: Select source-file signature project/target names earlier
8b0ee799e4 cmCoreTryCompile: Compute src-file signature build directory earlier
e73c8eaff2 cmTry{Compile,Run}Command: Port away from legacy cmCommand
7ba3a3290f try_compile: Refactor positional arg parsing
31ee3cd49d try_compile: Fail earlier when bindir is not an absolute path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7513
2022-07-27 09:54:40 -04:00
Brad King
e781d92de5 Merge topic 'vs-fuzzer'
feeb9ae4ba VS: Add support for (lib)fuzzer /fsanitize=fuzzer flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7471
2022-07-27 09:53:52 -04:00
Kitware Robot
3891b5a06f CMake Nightly Date Stamp 2022-07-27 00:01:07 -04:00
Brad King
7a5b1b6010 cmCoreTryCompile: Select source-file signature project/target names earlier 2022-07-26 15:09:48 -04:00
Brad King
8b0ee799e4 cmCoreTryCompile: Compute src-file signature build directory earlier 2022-07-26 15:09:48 -04:00
Brad King
e73c8eaff2 cmTry{Compile,Run}Command: Port away from legacy cmCommand
Convert the command entry points to free functions.
2022-07-26 15:09:48 -04:00
Brad King
7ba3a3290f try_compile: Refactor positional arg parsing 2022-07-26 14:44:42 -04:00
Brad King
31ee3cd49d try_compile: Fail earlier when bindir is not an absolute path
If the bindir is not an absolute path, other errors occur later.
Fail early with a clear error in this case.
2022-07-26 14:41:28 -04:00
Brad King
5fc4e121a1 Merge topic 'command-arg-parser'
2eba10c5ee cmArgumentParser: Drop unused parsedKeywords argument to Parse()
98cf623821 cmCTestHandlerCommand: Capture list of parsed keywords via binding
6ecd741b5f cmFileCommand: Capture list of parsed keywords via binding
f7e81802f2 cmArgumentParser: Offer binding for list of parsed keywords
f95a5832c7 cmArgumentParser: Drop unused keywordsMissingValue argument to Parse()
9a7efb6813 cmArgumentParser: Offer private binding to cmParseArgumentsCommand

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7508
2022-07-26 09:27:44 -04:00
Brad King
7afbfcb184 Merge topic 'refactor-win-ver'
ee047a68f2 cmSystemTools: Factor out method to get Windows OS version

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7509
2022-07-26 09:24:54 -04:00
Kitware Robot
2d87db1a2f CMake Nightly Date Stamp 2022-07-26 00:01:07 -04:00
Brad King
ee047a68f2 cmSystemTools: Factor out method to get Windows OS version
Factor the implementation out of `cmGlobalGenerator`.
2022-07-25 14:27:24 -04:00
Brad King
2eba10c5ee cmArgumentParser: Drop unused parsedKeywords argument to Parse()
All clients have been ported to use a binding instead.
2022-07-25 13:52:11 -04:00
Brad King
98cf623821 cmCTestHandlerCommand: Capture list of parsed keywords via binding 2022-07-25 13:52:11 -04:00
Brad King
6ecd741b5f cmFileCommand: Capture list of parsed keywords via binding 2022-07-25 13:52:11 -04:00
Brad King
f7e81802f2 cmArgumentParser: Offer binding for list of parsed keywords
Some clients ask for this list in their `Parse()` call.
Offer them a way to express this request as a binding.
2022-07-25 13:52:01 -04:00
Brad King
f95a5832c7 cmArgumentParser: Drop unused keywordsMissingValue argument to Parse()
All clients have been converted to encoding this requirement in their
bindings.
2022-07-25 13:51:43 -04:00
Brad King
9a7efb6813 cmArgumentParser: Offer private binding to cmParseArgumentsCommand
The `keywordsMissingValue` argument to `Parse()` is now needed only for
the `cmake_parse_arguments` result `_KEYWORDS_MISSING_VALUES`.  Offer
its implementation a private binding for this.  Our internal clients can
use `ArgumentParser::NonEmpty<>` and friends to enforce the presence of
values.
2022-07-25 13:48:26 -04:00
Brad King
4f8f577015 Merge topic 'cmake-help-flags-after-dashdash'
14a0e750cb cmake: In -P mode ignore flags like `--version` after `--`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7496
2022-07-25 12:00:39 -04:00
Brad King
7ed8c2de6a Merge topic 'cmake-help-flags-after-dashdash' into release-3.24
14a0e750cb cmake: In -P mode ignore flags like `--version` after `--`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7496
2022-07-25 12:00:38 -04:00
Brad King
cc663a8c1d Merge topic 'cmake-P-path-args'
febe3190f0 Merge branch 'backport-3.23-cmake-P-path-args'
846a650ff7 cmake: In -P mode ignore extra paths on the command line
c362cba566 cmake: simplify to a single source of truth of working mode
261fa5db39 cmake: In -P mode ignore extra paths on the command line
314135cdf1 cmake: simplify to a single source of truth of working mode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7494
2022-07-25 11:57:48 -04:00
Brad King
7c9bda81bd Merge topic 'cmake-P-path-args' into release-3.24
febe3190f0 Merge branch 'backport-3.23-cmake-P-path-args'
846a650ff7 cmake: In -P mode ignore extra paths on the command line
c362cba566 cmake: simplify to a single source of truth of working mode
261fa5db39 cmake: In -P mode ignore extra paths on the command line
314135cdf1 cmake: simplify to a single source of truth of working mode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7494
2022-07-25 11:57:47 -04:00
Brad King
ec809a80c5 Merge topic 'revert-vs-ZERO_CHECK-proj'
26b724cf2b Merge branch 'backport-3.24-revert-vs-ZERO_CHECK-proj'
289932ded0 VS: Revert "Write ZERO_CHECK.proj for VS19 and above"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7499
2022-07-25 11:56:30 -04:00
Brad King
cba5652a1f Merge topic 'revert-vs-ZERO_CHECK-proj' into release-3.24
289932ded0 VS: Revert "Write ZERO_CHECK.proj for VS19 and above"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7499
2022-07-25 11:56:29 -04:00
Brad King
363e8f8452 Merge topic 'revert-ui-check'
778aaf6fdc AUTOUIC: Revert "Fix internal paths of generated ui_foo.h files"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7498
2022-07-25 11:55:13 -04:00
Brad King
74c2cc630f Merge topic 'update-kwsys'
6d84355274 Merge branch 'upstream-KWSys' into update-kwsys
f98fa3e543 KWSys 2022-07-22 (ac792bf7)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7486
2022-07-25 11:54:00 -04:00
Brad King
ea209b9f9d Merge topic 'command-arg-parser-result'
8a18e82e95 cmCMakePathCommand: Report keyword errors via argument parser results
7e4a9afa1a cmCMakeHost*Command: Report keyword errors via argument parser results
74ec6b63c2 cmFileCommand: Report keyword errors via argument parser results
e56108f629 cmExecuteProcessCommand: Report keyword errors via argument parser results
b7c82b26b0 cmArgumentParser: Capture keyword errors in parse results
50876f6b9a cmArgumentParser: Add structure to capture operational results
5955ec1992 cmArgumentParser: Store keyword action map with explicit name
119e1f7fbc cmArgumentParser: Factor out common static/dynamic implementation
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7488
2022-07-25 11:52:27 -04:00
Kitware Robot
867be20c80 CMake Nightly Date Stamp 2022-07-25 00:01:13 -04:00
Kitware Robot
0f376bfc5a CMake Nightly Date Stamp 2022-07-24 00:01:05 -04:00
Kitware Robot
251c1fc56c CMake Nightly Date Stamp 2022-07-23 00:01:09 -04:00
Robert Maynard
14a0e750cb cmake: In -P mode ignore flags like --version after --
Fixes: #21031
2022-07-22 14:30:21 -04:00
Robert Maynard
846a650ff7 cmake: In -P mode ignore extra paths on the command line
Fixes: #23748
2022-07-22 13:55:52 -04:00
Robert Maynard
c362cba566 cmake: simplify to a single source of truth of working mode 2022-07-22 13:55:45 -04:00
Brad King
26b724cf2b Merge branch 'backport-3.24-revert-vs-ZERO_CHECK-proj' 2022-07-22 13:40:56 -04:00
Brad King
289932ded0 VS: Revert "Write ZERO_CHECK.proj for VS19 and above"
Revert commit a334f1b906 (VS: Write ZERO_CHECK.proj for VS19 and above,
2021-12-24, v3.24.0-rc1~607^2) and a supporting change from
commit 7219988b00 (VS: Exclude ZERO_CHECK.proj from .sln for
include_external_msproject, 2022-07-15, v3.24.0-rc4~1^2).

The change was made to support `dotnet` tooling in addition to
`msbuild`.  However, not having `ZERO_CHECK` in the `.sln` breaks common
interactive workflows.  Revert the change for now.  Later it can be
re-introduced behind some kind of option that enables `dotnet` support.

Fixes: #23726
Issue: #20227
2022-07-22 12:54:20 -04:00
Brad King
6d84355274 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2022-07-22 (ac792bf7)
2022-07-22 12:00:58 -04:00
Brad King
778aaf6fdc AUTOUIC: Revert "Fix internal paths of generated ui_foo.h files"
Revert commit 10668f26c9 (AUTOUIC: Fix internal paths of generated
ui_foo.h files, 2022-05-21, v3.24.0-rc3~20^2).  It broke some existing
projects that use more than one `.ui` file of the same name.

Fixes: #23759
Issue: #23523
2022-07-22 11:48:40 -04:00
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
66998035c1 Merge topic 'try_run_split_output'
a2cd0687db try_run: Add RUN_OUTPUT_STDOUT_VARIABLE and RUN_OUTPUT_STDERR_VARIABLE.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7453
2022-07-22 10:14:34 -04:00
Kitware Robot
b6f8b4459c CMake Nightly Date Stamp 2022-07-22 00:01:08 -04:00
Kitware Robot
c3c6fbd869 CMake Nightly Date Stamp 2022-07-21 00:01:09 -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