Ninja: cmcldeps needs a compiler

This commit is contained in:
Peter Kümmel 2012-08-17 10:56:31 +02:00
parent 186e9bdc22
commit 3632f24f13
1 changed files with 7 additions and 4 deletions

View File

@ -354,7 +354,9 @@ cmNinjaTargetGenerator
// TODO but why doesn't it work with cmcldeps?
const std::string projectName = mf->GetProjectName() ?
mf->GetProjectName() : "";
if (projectName != "CMAKE_TRY_COMPILE")
if (projectName != "CMAKE_TRY_COMPILE"
&& (mf->GetDefinition("CMAKE_C_COMPILER") ||
mf->GetDefinition("CMAKE_CXX_COMPILER")))
{
useClDeps = true;
std::string qu = "\"";
@ -399,9 +401,10 @@ cmNinjaTargetGenerator
if(useClDeps)
{
std::string cl = mf->GetDefinition("CMAKE_C_COMPILER");
cl = "\"" + cl + "\" ";
cmdLine = clDepsBinary + " " + lang + " $in \"$DEP_FILE\" $out "
+ clShowPrefix + " " + cl + cmdLine;
if (cl.empty())
cl = mf->GetDefinition("CMAKE_CXX_COMPILER");
cmdLine = clDepsBinary + " " + lang + " $in \"$DEP_FILE\" $out "
+ clShowPrefix + " \"" + cl + "\" " + cmdLine;
}
// Write the rule for compiling file of the given language.