| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
compile_commands.json was being written for every permutation of
cross configurations. Deduplicate so only one command is output
for each configuration.
Fixes: #23733
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The ExternalProject module has long used the generator-specific
placeholder in the `${CMAKE_CFG_INTDIR}` variable to express per-config
stamp file paths in multi-config generators. Now that most generators
support generator expressions in custom command outputs, we can use
the `$<CONFIG>` genex instead.
In particular, this fixes cross-config `BUILD_BYPRODUCTS` with the Ninja
Multi-Config generator.
Fixes: #23595
|
|
|
|
|
|
|
|
|
| |
Revert commit 5ece12b7e4 (gitlab-ci: add ISPC to the Fedora CI image,
2020-08-18, v3.19.0-rc1~244^2). Later we will download ISPC in specific
jobs.
Update a `RunCMake.NinjaMultiConfig` test expectation to account for
a change to the Qt deployed on Fedora 36.
|
|
|
|
|
|
|
| |
Add link flags during the "device compile" step.
Enabled the relevant tests. The disable reasons regarding separable compilation
were outdated and the actual failure case was device link flags support.
|
|
|
|
|
|
|
|
|
|
|
| |
Generator expressions in a non-cross custom command's `COMMAND`
arguments are evaluated in the command config. Target-level
dependencies implied by `TARGET_FILE` must therefore be cross
dependencies. This is important to generate proper target-level
dependencies on the cross-config build statements for the target to
which the custom command is attached.
Fixes: #22855
|
|
|
|
|
|
|
|
|
|
|
|
| |
The minimum CMake version for Qt6 is 3.16, so all the calls to
cmake_minimum_required() are updated here to enforce that
minimum. This will avoid any CMake version-related warnings
from Qt.
Avoid hard-coding Qt5 where the tests could now be using
Qt5 or Qt6.
Fixes: #22188
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since commit 2ae72ef74b (Xcode: Enable multi-arch TARGET_OBJECTS genex
in [INTERFACE_]LINK_LIBRARIES, 2021-05-26, v3.21.0-rc1~126^2) the
TARGET_OBJECTS genex, when referenced for linking, is now evaluated with
EvaluateForBuildsystem enabled. This causes the object file paths to be
computed with a buildsystem-specific placeholder for the configuration.
This is normally fine because the placeholder will be evaluated by the
native buildsystem tool using the proper configuration. However, the
Ninja Multi-Config generator's `${CONFIGURATION}` placeholder may not
have the correct value for cross-config object files. Switch back to
using the per-config location of each object file for this generator.
Fixes: #22436
|
|
|
|
| |
FYI, NINJA_STATUS is "[%f/%t] " by default.
|
|\
| |
| |
| |
| |
| |
| | |
ad08f93ee4 Ninja Multi-Config: Split long command lines by config
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6067
|
| |
| |
| |
| | |
Fixes: #22123
|
|\ \
| |/
| |
| |
| |
| |
| | |
f8e2a74712 Ninja Multi-Config: Correctly generate POST_BUILD custom targets
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6040
|
| |
| |
| |
| | |
Fixes: #22096
|
|/
|
|
|
|
| |
This facility is very useful for 'Ninja Multi-Config' and required
as well for future support of DEPFILE in 'Xcode' and 'Visual Studio'
generators (#20286).
|
|
|
|
|
|
|
|
| |
With generator expressions in a custom command's `OUTPUT` and
`BYPRODUCTS`, it is possible to have no outputs at all for a particular
configuration. Generate no rule in this case.
Fixes: #21989
|
|
|
|
| |
Ninja versions prior to 1.6.0 occasionally print this message.
|
|
|
|
| |
Fixes: #21973
|
|
|
|
|
|
|
|
| |
Since commit dcf9f4d2f7 (Ninja Multi-Config: Add support for
cross-config custom commands, 2020-12-09) we were not generating these
targets. Restore them and add a test.
Fixes: #21722
|
|
|
|
| |
Fixes: #21252
|
|
|
|
| |
Fixes: #20682
|
| |
|
|
|
|
|
|
|
| |
The CustomCommandGenerator `debug-in-release-graph-clean` case actually
cleans using the Debug graph. This is intentional in order to test
cleaning only the Debug parts, so fix the test name rather than changing
what graph it uses.
|
|\ |
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
23fe4b861f Ninja Multi-Config: Fix dependencies of custom commands
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5238
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This allows for setting EXCLUDE_FROM_ALL, conditional on the build
configuration. However, only the Ninja Multi-Config generator supports
different property values per config. All other multi-config
generators will yield an error in that situation.
Fixes: #20923
|
| |_|/
|/| | |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
a9fd3a10 addressed the scenario where the depending target is a
utility target, but not the scenario where the dependent target is
a utility target. Account for this scenario.
Also add a Qt-specific test case.
Fixes: #21118
|
| |
| |
| |
| | |
Fixes: #21118
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
6fc4bfa11c Ninja Multi-Config: Fix bug in CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Reinking <alex_reinking@berkeley.edu>
Merge-request: !4825
|
| |
| |
| |
| | |
Fixes: #20775
|
|\ \
| |/
| |
| |
| |
| |
| | |
dddb4f02f7 Ninja Multi-Config: Make "install" targets depend on default configs
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4778
|
| |
| |
| |
| |
| |
| | |
And add an "install:all" target.
Fixes: #20713
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
081c4679f7 Ninja Multi-Config: Don't build target dependencies for custom commands
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4423
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In commit a653ca9504 (Tests: Update CUDA tests to work with Clang,
2020-03-27) some tests were conditioned using `CMAKE_CUDA_COMPILER_ID`.
That is not defined when configuring CMake itself, so it accidentally
turned off NVCC-specific CUDA tests altogether. Convert the conditions
to check `CMake_TEST_CUDA` for `Clang` instead. That option is added
explicitly to builds where we want the tests to run, so we can set it to
a value indicating the CUDA compiler vendor.
In commit a653ca9504 (Tests: Update CUDA tests to work with Clang,
2020-03-27) the NVCC-specific `CudaOnly.GPUDebugFlag` test was
accidentally broken by removing a space when appending `-G` to the CUDA
flags. This was covered by the test not running. Restore the space.
Fixes: #20727
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Simplifies CUDA target architecture handling.
Required for Clang support as Clang doesn't automatically select a supported architecture.
We detect a supported architecture during compiler identification and set CMAKE_CUDA_ARCHITECTURES to it.
Introduces CMP0104 for backwards compatibility with manually setting code generation flags with NVCC.
Implements #17963.
|
|\ \ \
| |/ /
|/| /
| |/
| |
| |
| | |
081c4679f7 Ninja Multi-Config: Don't build target dependencies for custom commands
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4423
|
| |
| |
| |
| |
| |
| |
| | |
If cross-config mode is used, and a target depends on another target
as well as a custom command, we don't want the custom command to also
depend on the depended target, as that would build targets unnecessarily.
Fix this behavior.
|
|/
|
|
| |
Fixes: #20381
|
|
|
|
|
| |
If CMAKE_DEFAULT_BUILD_TYPE is not specified, use the first item
from CMAKE_CONFIGURATION_TYPES instead.
|
|
|
|
|
|
| |
Also rename `..._DEFAULT_BUILD_FILE_CONFIG` to `..._DEFAULT_BUILD_TYPE`.
These name changes make the variables meaningful for future use by other
generators.
|
|
|
|
| |
Fixes: #20345
|
|
|
|
|
|
|
|
| |
Prior to this fix, CMAKE_NMC_DEFAULT_CONFIGS would inherit "all" from
the union of CMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG and
CMAKE_NMC_CROSS_CONFIGS. This is inconsistent with the behavior of the
"all" target signifying CMAKE_NMC_CROSS_CONFIGS. Update "all" in
CMAKE_NMC_DEFAULT_CONFIGS to inherit only from CMAKE_NMC_CROSS_CONFIGS.
|
|
|
|
| |
And give other generators a path forward to add support in the future.
|
|\
| |
| |
| |
| |
| |
| | |
1844be451e Ninja Multi-Config: Fix issue with CMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4331
|
| |
| |
| |
| |
| |
| | |
Fix an issue where CMAKE_NMC_DEFAULT_BUILD_FILE_CONFIG is specified
and CMAKE_NMC_CROSS_CONFIGS is not, which results in a false error
with CMAKE_NMC_DEFAULT_CONFIGS.
|
|/ |
|
|
|
|
|
|
| |
If cmake --build is called with no --config argument, and a
build.ninja file is available, use that instead of defaulting to the
Debug config.
|