| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Adding implementation for policy CMP0118 being set to `NEW`.
* Adding new tests for policy CMP0118 being set to `NEW`.
* Checking the `GENERATED` property with `get_source_file_property` or
`get_property` now always returns exactly `1` or `0`. No other values
will be returned. Note, that this is a backwards-incompatible change,
even when policy CMP0118 is unset or set to `OLD`.
* Additionally, as `get_source_file_property` and `get_property` now
always check if a source-file was marked globally visible, even when
CMP0118 is unset or set to `OLD`, they possibly return `1` where they
might have returned `0` before the changes introduced by this commit.
Note, that this is a backwards-incompatible change, even when policy
CMP0118 is unset or set to `OLD`.
* As a consequence, the tests for policy CMP0118 being unset or set to
`OLD` got slightly adjusted, too, to reflect these changes in
behavior.
|
| |
|
|
|
|
|
|
|
| |
User defined permissions and options to copy permissions are
implemented.
Fixes: #20866
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
b9cb1d324d Fix regression in test/install/package configuration selection
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5381
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In commit 7a969fe21d (cmMakefile: Refactor API to better handle empty
config values, 2020-06-30, v3.19.0-rc1~567^2), calls to
`GetGeneratorConfigs` that pass `OnlyMultiConfig` only want to get any
configurations listed if the generator is multi-config. Fix the
implementation to actually do that.
Fixes: #21316
|
| |
| |
| |
| |
| |
| |
| | |
The OLD behaviors of all policies are deprecated, but only by
documentation. Add an explicit deprecation diagnostic for policies
introduced in CMake 3.12 and below to encourage projects to port
away from setting policies to OLD.
|
| |
| |
| |
| |
| | |
The implementations of these two methods are now identical,
so combine them.
|
| |
| |
| |
| |
| |
| |
| | |
Since commit 777ceaea94 (cmMakefile: Delay custom command creation,
2019-10-17, v3.17.0-rc1~352^2) we process custom command declarations at
generate time. Therefore we do not need to look up what source file
holds the custom command producing a given output until generate time.
|
|/
|
|
|
|
|
| |
Since commit 777ceaea94 (cmMakefile: Delay custom command creation,
2019-10-17, v3.17.0-rc1~352^2) we process custom command declarations
at generate time. This includes the append-to-non-existing-command
check, so we do not need it at configure time.
|
|
|
|
|
| |
Passing cmListFileFunction everywhere by-value involves big overhead.
Now cmListFileFunction stores std::shared_ptr to the underlying data.
|
|
|
|
| |
Fixes: #19575
|
| |
|
|
|
|
|
|
| |
The execution file path stack and the backtrace stack are kept in sync.
At all call sites of `GetExecutionFilePath`, the execution file path
matches the path in the context at the top of the backtrace stack.
|
|
|
|
|
|
|
|
|
|
|
| |
The only call sites that pass the explicit file name argument are in
function blocker `ArgumentsMatch` methods for `function` and `macro`.
We already ensure that they are balanced within a file scope, and the
RAII helpers `BuildsystemFileScope` and `ListFileScope` ensure that the
backtrace and execution list file stacks unwind to the matching level.
Therefore we can assume that the file name where we are checking for
matching arguments matches starting file name where those arguments
first appeared, and do not need to pass it explicitly.
|
| |
|
|
|
|
|
| |
The method only had one line, and its implementation is more clear
at the call sites than the method name.
|
|
|
|
|
|
|
|
| |
This method takes the function name and line from the top of the
current backtrace and then gets the file path from the state's
`GetExecutionListFile`. This exactly matches what the `cmMakefileCall`
constructor does to create the top of the current backtrace anyway,
so we can just take that directly.
|
|
|
|
|
|
|
|
| |
Old implementation uses involved Flex input management technique that
requires usage of obsolete YY_INPUT macro. This causes a lot of useless
allocations and byte-by-byte scanning. New implementation avoids those
hacks, it uses yy_scan_string() API to setup Flex input. Also it fixes
reporting of syntax error position and corresponding tests.
|
|\
| |
| |
| |
| |
| |
| | |
879bd7fd9c cmStateSnapshot: Return const reference from GetExecutionListFile()
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5186
|
| | |
|
|/ |
|
| |
|
|
|
|
|
|
|
| |
Adds TARGET argument to file(GENERATE) to make resolving generator expressions
requiring a target possible.
Implements #21101, fixes #21074.
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
7b0f6508a0 ALIAS targets: Non-global aliases must be propagated to sub-directories
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5002
|
| |
| |
| |
| | |
Fixes: #20942
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
7a969fe21d cmMakefile: Refactor API to better handle empty config values
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4957
|
| | | |
|
|/ /
| |
| |
| | |
Refactored out of cmMakefile
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
df6b077625 cmake: Remove broken '--warn-unused-vars' option
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !4953
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This option has been broken since commit b9f9915516 (cmMakefile: Remove
VarUsageStack., 2015-05-17, v3.3.0-rc1~52^2). That commit removed the
check that an initialized variable has actually been used and caused the
option to warn on every variable ever set. This was not caught by the
test suite because the test for the feature only checked that warnings
appear when needed and not that they do not appear when not needed.
The option was never very practical to use. Remove it to avoid the
runtime cost of usage tracking and checks for every variable (which we
were doing even when the option was not used).
|
|/ /
| |
| |
| | |
Issue: #20866
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
7d6861f367 fileapi: Extend codemodel targets with language standard
ba835874a4 Add backtrace support for language standard
e43486a639 cmGeneratorTarget: Clarify name of language property lookup helper
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4798
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Issue a deprecation warning on calls to `cmake_minimum_required` or
`cmake_policy` that set policies based on versions older than 2.8.12.
Note that the effective policy version includes `...<max>` treatment.
This is important in combination with commit ca24b70d31 (Export: Specify
a policy range in exported files, 2020-05-16, v3.18.0-rc1~133^2).
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
742ff97f80 Refactor language standard computation
0892c798f7 cmMakefile: Change CompileFeatureKnown to take target name instead of target
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4803
|
| | |
| | |
| | |
| | |
| | | |
Instead of mutating the configure-time cmTarget's properties at generate
time, compute and store it in a cmGeneratorTarget field.
|
| | |
| | |
| | |
| | | |
The implementation needs only the target name.
|
|/ /
| |
| |
| |
| |
| | |
Implement error handling in case it fails
Fixes: #20696
|
|/
|
|
|
|
|
| |
The OLD behaviors of all policies are deprecated, but only by
documentation. Add an explicit deprecation diagnostic for policies
introduced in CMake 3.11 and below to encourage projects to port away
from setting policies to OLD.
|
|
|
|
| |
Fixes: #20641
|
|
|
|
| |
Combines cmMakefile:GetDefinition() and cmExpandList()
|
| |
|
|
|
| |
Fixes: #18076
|
|
|
|
| |
Fixes: #20666
|
|\
| |
| |
| |
| |
| |
| | |
e267c3fddf cmState::GetInitializedCacheValue: return cmProp
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4696
|