CUDA: Fix CUDA architecture flags for nvcc response files

`nvcc --options-file` does not parse unquoted arguments in a response
file correctly if they contain `[]`.  Quote the `--generate-code=` flags
we add for CUDA architectures.

Fixes: #24657
This commit is contained in:
Brad King
2023-03-30 09:43:01 -04:00
parent 4901fdb201
commit 6546da83b3

View File

@@ -3626,7 +3626,7 @@ void cmGeneratorTarget::AddCUDAArchitectureFlags(cmBuildStep compileOrLink,
for (CudaArchitecture& architecture : architectures) {
flags +=
" --generate-code=arch=compute_" + architecture.name + ",code=[";
" \"--generate-code=arch=compute_" + architecture.name + ",code=[";
if (architecture.virtual_) {
flags += "compute_" + architecture.name;
@@ -3646,7 +3646,7 @@ void cmGeneratorTarget::AddCUDAArchitectureFlags(cmBuildStep compileOrLink,
flags += "sm_" + architecture.name;
}
flags += "]";
flags += "]\"";
}
} else if (compiler == "Clang") {
for (CudaArchitecture& architecture : architectures) {