| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| | |
c9d70a7cc3 cmake -E env: Add --modify flag
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7571
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When `cmake -E env` is given the `--modify` flag, try to parse the
following argument as an `ENVIRONMENT_MODIFICATION` operation and apply
it to the environment.
This generalizes `--unset=`:
1. When implementing `ENVIRONMENT_MODIFICATION` features for other CMake
commands, the `MYVAR=OP:VALUE` strings do not need to be translated
to OP-specific flags.
2. This provides a natural and consistent extension point to introduce
new operations without introducing very many flags.
3. Users need to learn only one syntax to access the same functionality.
There is one difference between the behavior here as compared to CTest's
interpretation of the `ENVIRONMENT_MODIFICATION` test property.
The `MYVAR=reset:` command when run in `cmake -E env` will reset `MYVAR`
to whatever its value was when `cmake -E env` launched, rather than try
to checkpoint after plain `MYVAR=VALUE` options. This makes `MYVAR=VALUE`
and `--modify MYVAR=set:VALUE` semantically equivalent.
|
|/
|
|
|
|
|
|
|
|
|
| |
Modify cmCoreTryCompile to only recognize try_run arguments when
actually parsing try_run. (The old behavior was to recognize try_run
arguments for try_compile also and then complain.)
This has a small chance that a try_run keyword will be consumed as part
of a multi-valued keyword argument. However, this behavior is more
consistent with other commands, as we don't normally treat keywords as
universally reserved. Also, the code is noticeably simplified.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
a5d45e685f Tests: Add case for ENVIRONMENT_MODIFICATION property OP=reset behavior
e2854b4fa2 cmCTestRunTest: Implement the ENVIRONMENT test property with EnvDiff too
bfa1c5285b cmSystemTools: Add EnvDiff class to hold ENVIRONMENT_MODIFICATION logic
a0b1c4ee90 cmCTestRunTest: Simplify by using GetSystemPathlistSeparator
4e6cbb1f13 cmCTestRunTest: Remove unnecessary CMAKE_BOOTSTRAP guard
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7572
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When processing the reset operation in the context of a CTest
`ENVIRONMENT_MODIFICATION` property, the value the variable is reset to
is the one it had after `ENVIRONMENT` was processed, not before.
This was broken once during refactoring and is subtle enough that it
should be tested.
|
|\ \
| |/
|/|
| |
| |
| |
| | |
0ebff0d61a export: Restore exclusion of private shared library dependencies from checks
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7557
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Refactoring in commit 8c65b7042e (cmExportFileGenerator: Simplify
collection of targets missing from export set, 2022-04-11,
v3.24.0-rc1~281^2) accidentally dropped the behavior change from
commit 0ad2a1c181 (Export: Never treat private link libraries as
public package dependencies., 2013-09-24, v3.0.0-rc1~559^2).
Restore the behavior and add a test.
Fixes: #23838
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
release-3.24
2a9cc3e8e8 FetchContent: Disable header set verification for dependencies
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7535
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
81fd0d6e26 ExternalProject: Fix install on BUILD_ALWAYS+BUILD_BYPRODUCTS with Ninja
d9e88721ad ExternalProject: Add test case for BUILD_ALWAYS
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7546
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The `BUILD_BYPRODUCTS` option causes the ExternalProject's `build` step
in `build.ninja` to have `restat = 1`, so its "always out-of-date"
status caused by `BUILD_ALWAYS` does not propagate to the `install`
step. Mark the latter step as explicitly always out-of-date too.
Fixes: #23820
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We did not previously have a dedicated explicit test for this option.
Issue: #23820
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
e0d3e6e147 string(JSON): Fix typo in error message
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7547
|
| | | | |
| | | | |
| | | | |
| | | | | |
`s/then/than/` in a comparison.
|
|\ \ \ \ \
| |/ / / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
19366408fe cmFindPackageCommand: Protect overrides of `cmDirectoryListGenerator`
e55c154c5b cmFindPackageCommand: Add one more search path
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7542
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
The `PREFIX/(Foo|foo|FOO).*/(cmake|CMake)/(Foo|foo|FOO).*/` search
path is the similar to the one already exists
`PREFIX/(Foo|foo|FOO).*/(lib/ARCH|lib*|share)/cmake/(Foo|foo|FOO).*/`.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
47929ee98c presets: Add basic error forwarding from cmake preset json parser
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7495
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Print errors only if there are errors. Add filename for better
introspection, particularly for FileNotFound errors with presets.
|
|\ \ \ \ \
| |_|/ / /
|/| | | /
| | |_|/
| |/| |
| | | |
| | | | |
2a9cc3e8e8 FetchContent: Disable header set verification for dependencies
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7535
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The CMAKE_VERIFY_INTERFACE_HEADER_SETS variable is intended to
be under the control of the user. It doesn't discriminate between
header sets defined in the main project and those defined by
dependencies brought into the build directly via FetchContent.
Developers will usually only be interested in verifying the main project's
header sets, not those from dependencies.
Make the variable effectively only enable header set verification of the
main project by turning it off during FetchContent_MakeAvailable() calls.
The user still has variables like CMAKE_PROJECT_INCLUDE and
CMAKE_PROJECT_<projectName>_INCLUDE available to them if they
want to enable verification of all or specific dependencies respectively.
Fixes: #23808
|
|\ \ \ \
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | | |
83e44002ae VERIFY_INTERFACE_HEADER_SETS: Add verification target for all
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7536
|
| |/ /
| | |
| | |
| | | |
Fixes: #23802
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
into release-3.24
41f15193e5 VERIFY_INTERFACE_HEADER_SETS: Fall back to global languages
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7517
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
6b427d8da9 cmCoreTryCompile: Port to cmArgumentParser
067ba3a2bd cmCoreTryCompile: Move target type selection logic to try_compile
781e1b191a cmCoreTryCompile: Simplify TryCompileCode return type
3218ea60de Tests: Add RunCMake.try_compile case for try_run-only args
b8e551ed32 Tests: Add RunCMake.try_run cases for missing keyword arguments
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7531
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
4f95e6b284 ci: test BMI exporting and installation with GCC in CI
c49d5f137b RunCMake/CXXModules: add a "deep-chain" test
297e0f4dce cmCxxModuleMapper: support MSVC module map format
b3c2880cb2 cmCxxModuleMapper: track transitive modules for MSVC
a43713d615 CTestCustom: ignore `cm::optional` uninitialized memory false positive
b90de0b492 RunCMake/CXXModules: support MSVC extensions
a84c186a7d cmScanDepFormat: support the MSVC 17.3 toolchain temporarily
d7f5064ff7 cmScanDepFormat: support P1689R5
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7481
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This tests that transitive usages are propogated properly across long
import chains between targets.
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Apparently GCC accepts the ill-formed prior syntax.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
96bc59b1ca CUDA: Add Device LTO support for nvcc
1527d48cd0 CheckIPO: Refactor logic selecting test source files
4a552ab4ad remove unused variables
6eda92d037 remove unused variable
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7389
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Fixes #22200
|
|\ \ \ \ \ \ \
| |_|_|/ / / /
|/| | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
2f69c0233c cmFindPackageCommand: Optimize the last calls to `TryGeneratedPaths`
076a4b44b0 cmFindPackageCommand: Path generators are actually reusable
664abd486f cmFindPackageCommand: Better names for template parameters
c862797a40 cmFindPackageCommand: Rename some generators
fdd14b1744 cmFindPackageCommand: Deduplicate directory listing code
08e7fb3cfa cmFindPackageCommand: Compile-time path generator expressions
61eb5d4de5 cmFindPackageCommand: Avoid friendship between command class and generator
ef62f213f8 cmFindPackageCommand: Drop dead code
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7445
|
| |/ / / / / |
|
| | | | | | |
|
|\ \ \ \ \ \
| | |_|_|/ /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
41f15193e5 VERIFY_INTERFACE_HEADER_SETS: Fall back to global languages
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7517
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
If a target doesn't have any source files, fall back to the global
list of enabled languages to determine the language of the header
file to verify.
Fixes: #23774
|
|\ \ \ \ \ \
| | |_|_|/ /
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
27fd172d8d VERIFY_INTERFACE_HEADER_SETS: Finalize compile info for verify targets
626e641a19 cmTarget: Factor out FinalizeTargetCompileInfo()
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7516
|
| |/ / / /
| | | | |
| | | | |
| | | | | |
Fixes: #23732
|
| | | | | |
|
| | | | | |
|
| |_|/ /
|/| | |
| | | |
| | | |
| | | | |
If the bindir is not an absolute path, other errors occur later.
Fail early with a clear error in this case.
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
14a0e750cb cmake: In -P mode ignore flags like `--version` after `--`
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7496
|
| | | |
| | | |
| | | |
| | | | |
Fixes: #21031
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | | |
Fixes: #23748
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | | | | |
|
| | | | | |
|
| | | | | |
|