| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| | |
b59f7600c4 HIP: Enable CMAKE_EXPORT_COMPILE_COMMANDS for HIP
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6789
|
| |
| |
| |
| | |
Fixes: #22986
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
Helps reduce wrapping of lines making code more readable.
|
| | |
|
|/
|
|
|
|
| |
The target properties `CUDA_SEPARABLE_COMPILATION` and `CUDA_PTX_COMPILATION`
now aren't mutually exclusive and can now be used together on the same
target.
|
| |
|
| |
|
|
|
|
|
|
| |
We already do this for `clang-tidy`.
Fixes: #16554
|
| |
|
|\
| |
| |
| | |
'backport-3.21-CC-DEPFILE-independent-from-CMAKE_DEPENDS_USE_COMPILER' into CC-DEPFILE-independent-from-CMAKE_DEPENDS_USE_COMPILER
|
| |
| |
| |
| | |
Fixes: #22486
|
|\ \
| |/
| |
| |
| |
| |
| |
| | |
3975678fcc CUDA/Clang: Simplify --register-link-binaries logic
0b1cea66cd CUDA/Clang: Fix separable compilation in non-root directories with Makefiles
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6400
|
| |
| |
| |
| |
| |
| |
| | |
Move the logic for appending cubin afterwards, so the check can simply be
empty().
With the Makefile generator the option is now at the front instead of being
intermixed with the actual bins.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Seems the relative paths were wrong basically all around such that only
compiling files in the top-level directory would work. I've modified
CudaOnly.SeparateCompilation to cover this.
Fixes #22482.
|
|/
|
|
| |
Fixes: #21463
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
316cbbe8d5 Makefiles: Fix CMAKE_EXPORT_COMPILE_COMMANDS crash with custom compile rule
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6173
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Extend the fix from commit 67e2130c96 (Makefiles: Fix
CMAKE_EXPORT_COMPILE_COMMANDS crash with custom compile rule,
2020-11-20, v3.19.1~8^2) to work for the `<FLAGS>` placeholder too.
Also fix the test case to actually enable `EXPORT_COMPILE_COMMANDS`
on the test target.
Fixes: #22261
|
| |
| |
| |
| | |
Move them up from cmLocalGenerator and out of cmStateDirectory.
|
| |
| |
| |
| |
| |
| | |
Most calls to `MaybeConvertToRelativePath` use one of our common work
directories (e.g. top of the build tree) as the local path. Add helpers
for each of the common cases to simplify and clarify call sites.
|
| | |
|
| | |
|
| |
| |
| |
| | |
Fixes: #21792
|
| |
| |
| |
| |
| | |
The path style argument is meaningful only with the Ninja generator,
so drop it from call sites in Makefile and Xcode generators.
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
Make the `config` argument non-optional so all callers must be explicit.
Convert the path style argument to an enumeration to make its role clear
at call sites.
The path style argument is implemented by `ConvertToIncludeReference`,
which was introduced with the Ninja generator by commit 5b114c9bee
(Introduce a cmLocalGenerator::ConvertToIncludeReference function,
2011-09-07, v2.8.7~187^2~4). Its only purpose is to allow the Ninja
generator to use relative paths in `-I` flags. Add a comment explaining
this role.
|
|
|
|
| |
Fixes: #20201
|
|
|
|
|
| |
This reverts commit 9f060971411aca979807f70307d8b9fe1b43ff24.
It was merged accidentally.
|
|
|
|
| |
Fixes: #20201
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
a742b5d137 CMAKE_EXPORT_COMPILE_COMMANDS: allow configuration per target
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5651
|
| |
| |
| |
| |
| |
| |
| |
| | |
The new target property `EXPORT_COMPILE_COMMANDS` associated with the
existing global variable can be used to optionally configure targets for
their compile commands to be exported.
Fixes: #19462
|
|/
|
|
|
| |
CMake uses explicit 'this->' style. Using custom clang-tidy check we can
detect and fix places where 'this->' was missed.
|
|
|
|
|
| |
Issue: #20286
Fixes: #21415
|
|\
| |
| |
| |
| |
| |
| | |
c9a50f3556 ISPC: Generated Headers suffix configurable with a better default
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5597
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The target property `ISPC_HEADER_SUFFIX` and associated global
variable now can control the suffix used when generating the
C/C++ interoperability ISPC headers.
In addition the default suffix is now "_ispc.h" which matches the
common convention that the ISPC compiler team uses and recommends.
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
67e2130c96 Makefiles: Fix CMAKE_EXPORT_COMPILE_COMMANDS crash with custom compile rule
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5521
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This change was originally made by commit 74b1c9fc8e (Explicitly specify
language flag when source LANGUAGE property is set, 2020-06-01,
v3.19.0-rc1~722^2), but it was reverted by commit 30aa715fac (Revert
"specify language flag when source LANGUAGE property is set",
2020-11-19) to restore compatibility with pre-3.19 behavior.
Implement the change again, but add policy CMP0119 to make this change
while preserving compatibility with existing projects.
Note that the `Compiler/{Clang,Intel,MSVC}-CXX` modules do not need to
specify `-TP` for their MSVC-like variants because we already use the
flag in `CMAKE_CXX_COMPILE_OBJECT`. Similarly for `Compiler/XL-CXX`
and `Platform/Windows-Embarcadero`.
Note also that this does not seem possible to implement for XL C.
Even with `-qsourcetype=c`, `xlc` complains about an unknown suffix:
`1501-218 (W) file /.../AltExtC.zzz contains an incorrect file suffix`.
It returns non-zero even with `-qsuppress=1501-218`.
Co-Author: Robert Maynard <robert.maynard@kitware.com>
Fixes: #14516, #20716
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Each source compilation generates a dependencies file. These dependencies
files are consolidated in one file per target. This consolidation is done
as part of command 'cmake -E cmake_depends` launched before evaluation of
makefile dependency graph.
The consolidation uses the same approach as `CMake` dependencies management.
Fixes: #21321
|
| | | |
|
| | | |
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | | |
67e2130c96 Makefiles: Fix CMAKE_EXPORT_COMPILE_COMMANDS crash with custom compile rule
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5521
|
| | |
| | |
| | |
| | | |
Fixes: #21471
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | | |
30aa715fac Revert "specify language flag when source LANGUAGE property is set"
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5519
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Revert commit 74b1c9fc8e (Explicitly specify language flag when source
LANGUAGE property is set, 2020-06-01, v3.19.0-rc1~722^2) and the lookup
tables from its two immediate ancestors. The purpose of that change was
to convert an explicit `LANGUAGE` source file property into an explicit
language specification compiler flag like `-x c`. This seems reasonable
since the property is documented as meaning "indicate what programming
language the source file is". It is also needed to help compilers deal
with non-standard source file extensions they don't recognize.
However, some projects have been setting `LANGUAGE C` on `.S` assembler
source files to mean "use the C compiler". Passing `-x c` for them
breaks the build because the `.S` sources are not written in C. These
projects should be updated to use `enable_language(ASM)`, for which
CMake often chooses the C compiler as the assembler when using
toolchains that support it (which would have to be the case for projects
using the approach).
Revert the change for now to preserve the old behavior for such projects.
We can re-introduce it with a policy in a future version of CMake.
Fixes: #21469
Issue: #14516, #20716
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
1134064e22 clang-tidy: allow OBJC and OBJCXX
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5467
|
| | | |
|
|/ /
| |
| |
| |
| |
| | |
Generate build command for assembly file in `compile_command.json`.
Issue: #20059
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
| |
For NVCC the compiler takes care of device linking when passed the "-dlink"
flag.
Clang doesn't support such magic and requires the buildsystem to do the work
that NVCC does behind the scenes.
The implementation is based on Bazel's device linking documentation:
https://github.com/tensorflow/tensorflow/blob/7cabcdf073abad8c46e9dda62bb8fa4682d2061e/third_party/nccl/build_defs.bzl.tpl#L259
Closes: #20726
|