CUDA: Fix boolean interpretation of CUDA_SEPARABLE_COMPILATION

If the property is explicitly set to a non-true value we should
not treat it as true.
This commit is contained in:
Brad King 2017-02-20 17:05:35 -05:00
parent 6cbad490c2
commit 08fa0b4595
2 changed files with 4 additions and 2 deletions

View File

@ -590,7 +590,8 @@ void cmMakefileTargetGenerator::WriteObjectBuildFile(
std::vector<std::string> compileCommands;
if (lang == "CUDA") {
std::string cmdVar;
if (this->GeneratorTarget->GetProperty("CUDA_SEPARABLE_COMPILATION")) {
if (this->GeneratorTarget->GetPropertyAsBool(
"CUDA_SEPARABLE_COMPILATION")) {
cmdVar = std::string("CMAKE_CUDA_COMPILE_SEPARABLE_COMPILATION");
} else {
cmdVar = std::string("CMAKE_CUDA_COMPILE_WHOLE_COMPILATION");

View File

@ -580,7 +580,8 @@ void cmNinjaTargetGenerator::WriteCompileRule(const std::string& lang)
std::vector<std::string> compileCmds;
if (lang == "CUDA") {
std::string cmdVar;
if (this->GeneratorTarget->GetProperty("CUDA_SEPARABLE_COMPILATION")) {
if (this->GeneratorTarget->GetPropertyAsBool(
"CUDA_SEPARABLE_COMPILATION")) {
cmdVar = std::string("CMAKE_CUDA_COMPILE_SEPARABLE_COMPILATION");
} else {
cmdVar = std::string("CMAKE_CUDA_COMPILE_WHOLE_COMPILATION");