VS: Restore support for CUDA with no optimization flags
Since commit 67de5b7b82
(VS: Suppress MSBuild default settings affected
by UseDebugLibraries, 2024-02-13, v3.30.0-rc1~538^2~1) we generate an
empty `Optimization` element for the host compiler when there are no C
or C++ optimization flags enabled. The CUDA Toolkit Visual Studio
integration fails with an error if an empty string is inherited from the
host compiler's `Optimization` element. If no CUDA optimization flags
are specified, write an explicit empty `Optimization` element for the
CUDA compiler too.
Fixes: #26144
This commit is contained in:
parent
3b2ef9b54c
commit
a9210a0c02
@ -3880,6 +3880,14 @@ bool cmVisualStudio10TargetGenerator::ComputeCudaOptions(
|
||||
cudaOptions.AddFlag("CudaRuntime", "None");
|
||||
}
|
||||
|
||||
if (this->ProjectType == VsProjectType::vcxproj && this->MSTools) {
|
||||
// Suppress inheritance of host compiler optimization flags
|
||||
// when the project does not specify any optimization flags for CUDA.
|
||||
if (!cudaOptions.HasFlag("Optimization")) {
|
||||
cudaOptions.AddFlag("Optimization", "");
|
||||
}
|
||||
}
|
||||
|
||||
this->CudaOptions[configName] = std::move(pOptions);
|
||||
return true;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user