mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-25 15:49:08 -05:00
CUDA: Do not device link if CUDA is not an enabled language
Checks added in commit 81b4d10d8f (CUDA: More exhaustive checks to
determine when to do device linking, 2019-05-09, v3.15.0-rc1~82^2)
assumed that CUDA properties would be set only if CUDA is enabled.
We cannot do a device link step if we do not have the CUDA language
enabled. This was discovered as some projects unconditionally set CUDA
properties such as `CUDA_RESOLVE_DEVICE_SYMBOLS` even when the CUDA
language has not been enabled.
Fixes: #19432
This commit is contained in:
committed by
Brad King
parent
753373579e
commit
a4d502a5bf
@@ -82,11 +82,7 @@ void cmMakefileExecutableTargetGenerator::WriteDeviceExecutableRule(
|
||||
bool relink)
|
||||
{
|
||||
#ifdef CMAKE_BUILD_WITH_CMAKE
|
||||
if (!this->GlobalGenerator->GetLanguageEnabled("CUDA")) {
|
||||
return;
|
||||
}
|
||||
|
||||
bool requiresDeviceLinking = requireDeviceLinking(
|
||||
const bool requiresDeviceLinking = requireDeviceLinking(
|
||||
*this->GeneratorTarget, *this->LocalGenerator, this->ConfigName);
|
||||
if (!requiresDeviceLinking) {
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user