|
|
@@ -818,6 +818,17 @@ void cmGlobalNinjaGenerator::CloseRulesFileStream()
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+std::string cmGlobalNinjaGenerator::ConvertToNinjaPath(const std::string& path)
|
|
|
+{
|
|
|
+ cmLocalNinjaGenerator *ng =
|
|
|
+ static_cast<cmLocalNinjaGenerator *>(this->LocalGenerators[0]);
|
|
|
+ std::string convPath = ng->Convert(path, cmOutputConverter::HOME_OUTPUT);
|
|
|
+#ifdef _WIN32
|
|
|
+ cmSystemTools::ReplaceString(convPath, "/", "\\");
|
|
|
+#endif
|
|
|
+ return convPath;
|
|
|
+}
|
|
|
+
|
|
|
void cmGlobalNinjaGenerator::AddCXXCompileCommand(
|
|
|
const std::string &commandLine,
|
|
|
const std::string &sourceFile)
|
|
|
@@ -907,8 +918,6 @@ cmGlobalNinjaGenerator
|
|
|
{
|
|
|
std::string configName =
|
|
|
target->GetMakefile()->GetSafeDefinition("CMAKE_BUILD_TYPE");
|
|
|
- cmLocalNinjaGenerator *ng =
|
|
|
- static_cast<cmLocalNinjaGenerator *>(this->LocalGenerators[0]);
|
|
|
|
|
|
// for frameworks, we want the real name, not smple name
|
|
|
// frameworks always appear versioned, and the build.ninja
|
|
|
@@ -923,13 +932,13 @@ cmGlobalNinjaGenerator
|
|
|
case cmTarget::MODULE_LIBRARY:
|
|
|
{
|
|
|
cmGeneratorTarget *gtgt = this->GetGeneratorTarget(target);
|
|
|
- outputs.push_back(ng->ConvertToNinjaPath(
|
|
|
+ outputs.push_back(this->ConvertToNinjaPath(
|
|
|
gtgt->GetFullPath(configName, false, realname)));
|
|
|
break;
|
|
|
}
|
|
|
case cmTarget::OBJECT_LIBRARY:
|
|
|
case cmTarget::UTILITY: {
|
|
|
- std::string path = ng->ConvertToNinjaPath(
|
|
|
+ std::string path = this->ConvertToNinjaPath(
|
|
|
target->GetMakefile()->GetCurrentBinaryDirectory());
|
|
|
if (path.empty() || path == ".")
|
|
|
outputs.push_back(target->GetName());
|
|
|
@@ -1041,8 +1050,6 @@ void cmGlobalNinjaGenerator::WriteUnknownExplicitDependencies(std::ostream& os)
|
|
|
|
|
|
//get the list of files that cmake itself has generated as a
|
|
|
//product of configuration.
|
|
|
- cmLocalNinjaGenerator *ng =
|
|
|
- static_cast<cmLocalNinjaGenerator *>(this->LocalGenerators[0]);
|
|
|
|
|
|
for (std::vector<cmLocalGenerator *>::const_iterator i =
|
|
|
this->LocalGenerators.begin(); i != this->LocalGenerators.end(); ++i)
|
|
|
@@ -1054,7 +1061,7 @@ void cmGlobalNinjaGenerator::WriteUnknownExplicitDependencies(std::ostream& os)
|
|
|
typedef std::vector<std::string>::const_iterator vect_it;
|
|
|
for(vect_it j = files.begin(); j != files.end(); ++j)
|
|
|
{
|
|
|
- knownDependencies.insert( ng->ConvertToNinjaPath( *j ) );
|
|
|
+ knownDependencies.insert( this->ConvertToNinjaPath( *j ) );
|
|
|
}
|
|
|
//get list files which are implicit dependencies as well and will be phony
|
|
|
//for rebuild manifest
|
|
|
@@ -1062,7 +1069,7 @@ void cmGlobalNinjaGenerator::WriteUnknownExplicitDependencies(std::ostream& os)
|
|
|
typedef std::vector<std::string>::const_iterator vect_it;
|
|
|
for(vect_it j = lf.begin(); j != lf.end(); ++j)
|
|
|
{
|
|
|
- knownDependencies.insert( ng->ConvertToNinjaPath( *j ) );
|
|
|
+ knownDependencies.insert( this->ConvertToNinjaPath( *j ) );
|
|
|
}
|
|
|
std::vector<cmGeneratorExpressionEvaluationFile*> const& ef =
|
|
|
(*i)->GetMakefile()->GetEvaluationFiles();
|
|
|
@@ -1074,7 +1081,7 @@ void cmGlobalNinjaGenerator::WriteUnknownExplicitDependencies(std::ostream& os)
|
|
|
std::vector<std::string> evaluationFiles = (*li)->GetFiles();
|
|
|
for(vect_it j = evaluationFiles.begin(); j != evaluationFiles.end(); ++j)
|
|
|
{
|
|
|
- knownDependencies.insert( ng->ConvertToNinjaPath( *j ) );
|
|
|
+ knownDependencies.insert( this->ConvertToNinjaPath( *j ) );
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -1084,7 +1091,7 @@ void cmGlobalNinjaGenerator::WriteUnknownExplicitDependencies(std::ostream& os)
|
|
|
i != this->TargetAliases.end();
|
|
|
++i)
|
|
|
{
|
|
|
- knownDependencies.insert( ng->ConvertToNinjaPath(i->first) );
|
|
|
+ knownDependencies.insert( this->ConvertToNinjaPath(i->first) );
|
|
|
}
|
|
|
|
|
|
//remove all source files we know will exist.
|
|
|
@@ -1093,7 +1100,7 @@ void cmGlobalNinjaGenerator::WriteUnknownExplicitDependencies(std::ostream& os)
|
|
|
i != this->AssumedSourceDependencies.end();
|
|
|
++i)
|
|
|
{
|
|
|
- knownDependencies.insert( ng->ConvertToNinjaPath(i->first) );
|
|
|
+ knownDependencies.insert( this->ConvertToNinjaPath(i->first) );
|
|
|
}
|
|
|
|
|
|
//now we difference with CombinedCustomCommandExplicitDependencies to find
|
|
|
@@ -1214,8 +1221,6 @@ void cmGlobalNinjaGenerator::WriteTargetRebuildManifest(std::ostream& os)
|
|
|
/*restat=*/ "",
|
|
|
/*generator=*/ true);
|
|
|
|
|
|
- cmLocalNinjaGenerator *ng = static_cast<cmLocalNinjaGenerator *>(lg);
|
|
|
-
|
|
|
cmNinjaDeps implicitDeps;
|
|
|
for(std::vector<cmLocalGenerator*>::const_iterator i =
|
|
|
this->LocalGenerators.begin(); i != this->LocalGenerators.end(); ++i)
|
|
|
@@ -1224,7 +1229,7 @@ void cmGlobalNinjaGenerator::WriteTargetRebuildManifest(std::ostream& os)
|
|
|
for(std::vector<std::string>::const_iterator fi = lf.begin();
|
|
|
fi != lf.end(); ++fi)
|
|
|
{
|
|
|
- implicitDeps.push_back(ng->ConvertToNinjaPath(*fi));
|
|
|
+ implicitDeps.push_back(this->ConvertToNinjaPath(*fi));
|
|
|
}
|
|
|
}
|
|
|
implicitDeps.push_back("CMakeCache.txt");
|