Ninja: Fix quoting of RC language depfile in cmcldeps call

Since commit v3.0.0-rc1~448^2 (Ninja: use deps = gcc/msvc feature,
2013-10-18) the value of the `DEP_FILE` binding already includes the
needed quoting to refer to the file.  However, that commit forgot to
update one of the `$DEP_FILE` references to not be quoted anymore.
The offending code path currently only affects cmcldeps for RC.
Remove the extra quoting now.

Fixes: #17298
This commit is contained in:
Brad King
2017-09-25 09:52:13 -04:00
parent eae3765b67
commit df965cb963
2 changed files with 8 additions and 1 deletions

View File

@@ -438,7 +438,7 @@ void cmNinjaTargetGenerator::WriteCompileRule(const std::string& lang)
: mf->GetSafeDefinition("CMAKE_CXX_COMPILER");
cldeps = "\"";
cldeps += cmSystemTools::GetCMClDepsCommand();
cldeps += "\" " + lang + " " + vars.Source + " \"$DEP_FILE\" $out \"";
cldeps += "\" " + lang + " " + vars.Source + " $DEP_FILE $out \"";
cldeps += mf->GetSafeDefinition("CMAKE_CL_SHOWINCLUDES_PREFIX");
cldeps += "\" \"" + cl + "\" ";
}

View File

@@ -56,3 +56,10 @@ endif()
set_property(TARGET VSResource
PROPERTY VS_GLOBAL_CMakeTestVsGlobalVariable "test val")
if(CMAKE_GENERATOR MATCHES "Ninja|Visual Studio")
cmake_policy(PUSH)
cmake_policy(SET CMP0037 OLD)
add_library("My ResourceLib" lib.cpp lib.rc)
cmake_policy(POP)
endif()