The following was disallowed:
add_library(iface INTERFACE)
target_link_libraries(iface PUBLIC)
just due to the mention of the `PUBLIC` keyword. Instead, only error if
there are actually `PUBLIC` dependencies specified (and analogously for
other restrictions).
Update tests to expect this new behavior.
Some target types don't allow setting certain properties even if there
is no value being set there. Guard against this by avoiding property
setting when there is nothing to add.
In cmGeneratorTarget and cmLocalGenerator we offer several APIs to get
build settings like include directories, compile definitions, source
files, etc. Add corresponding APIs that include backtrace information.
Carry a backtrace on every link item, not just link implementation
items. For now the non-impl items will still have empty backtraces at
runtime, but this will allow us to introduce values over time.
Revert commit v3.13.0-rc1~144^2 (cmake-server: Support codemodel
filegroups for INTERFACE_SOURCES, 2018-08-10). The changes activate
code paths not meant to be used with interface libraries. Another
approach will be needed to expose this information later.
This revert has to be done by hand because the code in question has been
changed somewhat since the changes were made, and was also factored out
to another source file.
Fixes: #18463
121a036f73 cmListCommand: handle empty lists for list(REMOVE_AT)
acfe53c588 cmListCommand: make list(ACTION not_a_list) succeed when idempotent
bf572ac952 cmListCommand: check list(FILTER) operation before the list
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2478
The operations changed here all are no-ops on empty lists anyways, so
just have them succeed when given non-extant lists.
- `list(REMOVE_ITEM)`
- `list(REMOVE_DUPLICATES)`
- `list(SORT)`
- `list(FILTER)`
- `list(REVERSE)`
Removing the "%" character from the name of the routine in the line
parser causes CTest to be unable to find a routine entry point that is
only named "%". Instead leave it during line parsing and handle routine
names ending in "%" explicitly when loading files.
This fixes a bug where calling `ctest_submit()` would result in a Done.xml
file with an empty <buildId> element.
CDash responds with a buildId when CTest submits a file. For this reason,
Done.xml needs to generated after CTest has submitted some other file to
CDash. This change also has the benefit of making Done.xml's timestamp as
late as possible, giving us a more accurate record of how long the entire
build took to complete.
faf3d7d224 VS: Add workaround for CUDA compiler PDB location with space
592064e026 VS: Drop workaround for CUDA compiler PDB location on CUDA 9.2+
fb378fc4d7 Tests: Fix Cuda test project names
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2473
b56f2db87a Testing: Add test for CMP0082
fc8955e889 add_subdirectory: Run subdirectory install rules in correct order
514f0b572e Testing: Update hard-coded line numbers to [0-9]+ in some tests
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2434