Ninja: Fix RC language depfile generation with cmcldeps
In commit v3.7.0-rc1~275^2 (Ninja: Use full path for all source files, 2016-08-05), the source path was changed to use an absolute path. Inside of `cmcldeps` for `.rc` file compilation, it uses a separate argument for the path to the source file. This ended up causing `cmcldeps` to transform the following call: cmcldeps.exe RC source.rc ... C:/full/path/to/source.rc into: ... C:/full/path/to//Tc source.rc which is invalid. Update the source filename to use the full path to the source file so that the path is replaced properly.
This commit is contained in:
parent
b99bbfe88d
commit
9977899df2
|
@ -427,7 +427,7 @@ void cmNinjaTargetGenerator::WriteCompileRule(const std::string& lang)
|
||||||
: mf->GetSafeDefinition("CMAKE_CXX_COMPILER");
|
: mf->GetSafeDefinition("CMAKE_CXX_COMPILER");
|
||||||
cldeps = "\"";
|
cldeps = "\"";
|
||||||
cldeps += cmSystemTools::GetCMClDepsCommand();
|
cldeps += cmSystemTools::GetCMClDepsCommand();
|
||||||
cldeps += "\" " + lang + " $in \"$DEP_FILE\" $out \"";
|
cldeps += "\" " + lang + " " + vars.Source + " \"$DEP_FILE\" $out \"";
|
||||||
cldeps += mf->GetSafeDefinition("CMAKE_CL_SHOWINCLUDES_PREFIX");
|
cldeps += mf->GetSafeDefinition("CMAKE_CL_SHOWINCLUDES_PREFIX");
|
||||||
cldeps += "\" \"" + cl + "\" ";
|
cldeps += "\" \"" + cl + "\" ";
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue