Merge topic 'refactor-makerule-path-conversion'
848fab95
cmGlobalVisualStudio7Generator: Remove unused variable85cea8a7
cmDepends: Refactor object file path conversione7ee892b
cmLocalGenerator: Fix AddBuildTargetRule object file path conversion9f92a78b
cmLocalGenerator: Rename 'MAKEFILE' to 'MAKERULE'
This commit is contained in:
commit
fe4e6ed991
|
@ -58,12 +58,7 @@ bool cmDepends::Write(std::ostream &makeDepends,
|
||||||
// Get the source and object file.
|
// Get the source and object file.
|
||||||
std::string const& src = *si++;
|
std::string const& src = *si++;
|
||||||
if(si == pairs.end()) { break; }
|
if(si == pairs.end()) { break; }
|
||||||
std::string obj = *si++;
|
std::string const& obj = *si++;
|
||||||
|
|
||||||
// Make sure the object file is relative to the top of the build tree.
|
|
||||||
obj = this->LocalGenerator->Convert(obj,
|
|
||||||
cmLocalGenerator::HOME_OUTPUT,
|
|
||||||
cmLocalGenerator::MAKEFILE);
|
|
||||||
dependencies[obj].insert(src);
|
dependencies[obj].insert(src);
|
||||||
}
|
}
|
||||||
for(std::map<std::string, std::set<std::string> >::const_iterator
|
for(std::map<std::string, std::set<std::string> >::const_iterator
|
||||||
|
|
|
@ -269,14 +269,20 @@ bool cmDependsC::WriteDependencies(const std::set<std::string>& sources,
|
||||||
// written by the original local generator for this directory
|
// written by the original local generator for this directory
|
||||||
// convert the dependencies to paths relative to the home output
|
// convert the dependencies to paths relative to the home output
|
||||||
// directory. We must do the same here.
|
// directory. We must do the same here.
|
||||||
internalDepends << obj << std::endl;
|
std::string obj_i =
|
||||||
|
this->LocalGenerator->Convert(obj, cmLocalGenerator::HOME_OUTPUT);
|
||||||
|
std::string obj_m =
|
||||||
|
this->LocalGenerator->ConvertToOutputFormat(obj_i,
|
||||||
|
cmLocalGenerator::MAKERULE);
|
||||||
|
internalDepends << obj_i << std::endl;
|
||||||
|
|
||||||
for(std::set<std::string>::const_iterator i=dependencies.begin();
|
for(std::set<std::string>::const_iterator i=dependencies.begin();
|
||||||
i != dependencies.end(); ++i)
|
i != dependencies.end(); ++i)
|
||||||
{
|
{
|
||||||
makeDepends << obj << ": " <<
|
makeDepends << obj_m << ": " <<
|
||||||
this->LocalGenerator->Convert(*i,
|
this->LocalGenerator->Convert(*i,
|
||||||
cmLocalGenerator::HOME_OUTPUT,
|
cmLocalGenerator::HOME_OUTPUT,
|
||||||
cmLocalGenerator::MAKEFILE)
|
cmLocalGenerator::MAKERULE)
|
||||||
<< std::endl;
|
<< std::endl;
|
||||||
internalDepends << " " << *i << std::endl;
|
internalDepends << " " << *i << std::endl;
|
||||||
}
|
}
|
||||||
|
|
|
@ -443,15 +443,20 @@ cmDependsFortran
|
||||||
const char* src = info.Source.c_str();
|
const char* src = info.Source.c_str();
|
||||||
|
|
||||||
// Write the include dependencies to the output stream.
|
// Write the include dependencies to the output stream.
|
||||||
internalDepends << obj << std::endl;
|
std::string obj_i =
|
||||||
|
this->LocalGenerator->Convert(obj, cmLocalGenerator::HOME_OUTPUT);
|
||||||
|
std::string obj_m =
|
||||||
|
this->LocalGenerator->ConvertToOutputFormat(obj_i,
|
||||||
|
cmLocalGenerator::MAKERULE);
|
||||||
|
internalDepends << obj_i << std::endl;
|
||||||
internalDepends << " " << src << std::endl;
|
internalDepends << " " << src << std::endl;
|
||||||
for(std::set<std::string>::const_iterator i = info.Includes.begin();
|
for(std::set<std::string>::const_iterator i = info.Includes.begin();
|
||||||
i != info.Includes.end(); ++i)
|
i != info.Includes.end(); ++i)
|
||||||
{
|
{
|
||||||
makeDepends << obj << ": " <<
|
makeDepends << obj_m << ": " <<
|
||||||
this->LocalGenerator->Convert(*i,
|
this->LocalGenerator->Convert(*i,
|
||||||
cmLocalGenerator::HOME_OUTPUT,
|
cmLocalGenerator::HOME_OUTPUT,
|
||||||
cmLocalGenerator::MAKEFILE)
|
cmLocalGenerator::MAKERULE)
|
||||||
<< std::endl;
|
<< std::endl;
|
||||||
internalDepends << " " << *i << std::endl;
|
internalDepends << " " << *i << std::endl;
|
||||||
}
|
}
|
||||||
|
@ -482,10 +487,10 @@ cmDependsFortran
|
||||||
proxy += ".mod.proxy";
|
proxy += ".mod.proxy";
|
||||||
proxy = this->LocalGenerator->Convert(proxy,
|
proxy = this->LocalGenerator->Convert(proxy,
|
||||||
cmLocalGenerator::HOME_OUTPUT,
|
cmLocalGenerator::HOME_OUTPUT,
|
||||||
cmLocalGenerator::MAKEFILE);
|
cmLocalGenerator::MAKERULE);
|
||||||
|
|
||||||
// since we require some things add them to our list of requirements
|
// since we require some things add them to our list of requirements
|
||||||
makeDepends << obj << ".requires: " << proxy << std::endl;
|
makeDepends << obj_m << ".requires: " << proxy << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
// The object file should depend on timestamped files for the
|
// The object file should depend on timestamped files for the
|
||||||
|
@ -499,8 +504,8 @@ cmDependsFortran
|
||||||
std::string stampFile =
|
std::string stampFile =
|
||||||
this->LocalGenerator->Convert(required->second,
|
this->LocalGenerator->Convert(required->second,
|
||||||
cmLocalGenerator::HOME_OUTPUT,
|
cmLocalGenerator::HOME_OUTPUT,
|
||||||
cmLocalGenerator::MAKEFILE);
|
cmLocalGenerator::MAKERULE);
|
||||||
makeDepends << obj << ": " << stampFile << "\n";
|
makeDepends << obj_m << ": " << stampFile << "\n";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -512,8 +517,8 @@ cmDependsFortran
|
||||||
module =
|
module =
|
||||||
this->LocalGenerator->Convert(module,
|
this->LocalGenerator->Convert(module,
|
||||||
cmLocalGenerator::HOME_OUTPUT,
|
cmLocalGenerator::HOME_OUTPUT,
|
||||||
cmLocalGenerator::MAKEFILE);
|
cmLocalGenerator::MAKERULE);
|
||||||
makeDepends << obj << ": " << module << "\n";
|
makeDepends << obj_m << ": " << module << "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -528,8 +533,8 @@ cmDependsFortran
|
||||||
proxy += ".mod.proxy";
|
proxy += ".mod.proxy";
|
||||||
proxy = this->LocalGenerator->Convert(proxy,
|
proxy = this->LocalGenerator->Convert(proxy,
|
||||||
cmLocalGenerator::HOME_OUTPUT,
|
cmLocalGenerator::HOME_OUTPUT,
|
||||||
cmLocalGenerator::MAKEFILE);
|
cmLocalGenerator::MAKERULE);
|
||||||
makeDepends << proxy << ": " << obj << ".provides" << std::endl;
|
makeDepends << proxy << ": " << obj_m << ".provides" << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If any modules are provided then they must be converted to stamp files.
|
// If any modules are provided then they must be converted to stamp files.
|
||||||
|
@ -537,7 +542,7 @@ cmDependsFortran
|
||||||
{
|
{
|
||||||
// Create a target to copy the module after the object file
|
// Create a target to copy the module after the object file
|
||||||
// changes.
|
// changes.
|
||||||
makeDepends << obj << ".provides.build:\n";
|
makeDepends << obj_m << ".provides.build:\n";
|
||||||
for(std::set<std::string>::const_iterator i = info.Provides.begin();
|
for(std::set<std::string>::const_iterator i = info.Provides.begin();
|
||||||
i != info.Provides.end(); ++i)
|
i != info.Provides.end(); ++i)
|
||||||
{
|
{
|
||||||
|
@ -575,7 +580,7 @@ cmDependsFortran
|
||||||
}
|
}
|
||||||
// After copying the modules update the timestamp file so that
|
// After copying the modules update the timestamp file so that
|
||||||
// copying will not be done again until the source rebuilds.
|
// copying will not be done again until the source rebuilds.
|
||||||
makeDepends << "\t$(CMAKE_COMMAND) -E touch " << obj
|
makeDepends << "\t$(CMAKE_COMMAND) -E touch " << obj_m
|
||||||
<< ".provides.build\n";
|
<< ".provides.build\n";
|
||||||
|
|
||||||
// Make sure the module timestamp rule is evaluated by the time
|
// Make sure the module timestamp rule is evaluated by the time
|
||||||
|
@ -584,8 +589,8 @@ cmDependsFortran
|
||||||
driver += "/build";
|
driver += "/build";
|
||||||
driver = this->LocalGenerator->Convert(driver,
|
driver = this->LocalGenerator->Convert(driver,
|
||||||
cmLocalGenerator::HOME_OUTPUT,
|
cmLocalGenerator::HOME_OUTPUT,
|
||||||
cmLocalGenerator::MAKEFILE);
|
cmLocalGenerator::MAKERULE);
|
||||||
makeDepends << driver << ": " << obj << ".provides.build\n";
|
makeDepends << driver << ": " << obj_m << ".provides.build\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -530,7 +530,7 @@ cmGlobalUnixMakefileGenerator3
|
||||||
// Begin the directory-level rules section.
|
// Begin the directory-level rules section.
|
||||||
std::string dir = lg->GetMakefile()->GetStartOutputDirectory();
|
std::string dir = lg->GetMakefile()->GetStartOutputDirectory();
|
||||||
dir = lg->Convert(dir, cmLocalGenerator::HOME_OUTPUT,
|
dir = lg->Convert(dir, cmLocalGenerator::HOME_OUTPUT,
|
||||||
cmLocalGenerator::MAKEFILE);
|
cmLocalGenerator::MAKERULE);
|
||||||
lg->WriteDivider(ruleFileStream);
|
lg->WriteDivider(ruleFileStream);
|
||||||
ruleFileStream
|
ruleFileStream
|
||||||
<< "# Directory level rules for directory "
|
<< "# Directory level rules for directory "
|
||||||
|
|
|
@ -773,7 +773,6 @@ void cmGlobalVisualStudio7Generator::WriteExternalProject(std::ostream& fout,
|
||||||
const char* typeGuid,
|
const char* typeGuid,
|
||||||
const std::set<std::string>&)
|
const std::set<std::string>&)
|
||||||
{
|
{
|
||||||
std::string d = cmSystemTools::ConvertToOutputPath(location);
|
|
||||||
fout << "Project("
|
fout << "Project("
|
||||||
<< "\"{"
|
<< "\"{"
|
||||||
<< (typeGuid ? typeGuid : this->ExternalProjectType(location))
|
<< (typeGuid ? typeGuid : this->ExternalProjectType(location))
|
||||||
|
|
|
@ -681,7 +681,7 @@ void cmLocalGenerator::AddBuildTargetRule(const std::string& llang,
|
||||||
objVector.push_back(ofname);
|
objVector.push_back(ofname);
|
||||||
this->AddCustomCommandToCreateObject(ofname.c_str(),
|
this->AddCustomCommandToCreateObject(ofname.c_str(),
|
||||||
llang, *(*i), target);
|
llang, *(*i), target);
|
||||||
objs += this->Convert(ofname,START_OUTPUT,MAKEFILE);
|
objs += this->Convert(ofname,START_OUTPUT,SHELL);
|
||||||
objs += " ";
|
objs += " ";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2755,7 +2755,7 @@ std::string cmLocalGenerator::ConvertToOutputFormat(const std::string& source,
|
||||||
{
|
{
|
||||||
std::string result = source;
|
std::string result = source;
|
||||||
// Convert it to an output path.
|
// Convert it to an output path.
|
||||||
if (output == MAKEFILE)
|
if (output == MAKERULE)
|
||||||
{
|
{
|
||||||
result = cmSystemTools::ConvertToOutputPath(result.c_str());
|
result = cmSystemTools::ConvertToOutputPath(result.c_str());
|
||||||
}
|
}
|
||||||
|
|
|
@ -106,7 +106,7 @@ public:
|
||||||
* path setting
|
* path setting
|
||||||
*/
|
*/
|
||||||
enum RelativeRoot { NONE, FULL, HOME, START, HOME_OUTPUT, START_OUTPUT };
|
enum RelativeRoot { NONE, FULL, HOME, START, HOME_OUTPUT, START_OUTPUT };
|
||||||
enum OutputFormat { UNCHANGED, MAKEFILE, SHELL, WATCOMQUOTE, RESPONSE };
|
enum OutputFormat { UNCHANGED, MAKERULE, SHELL, WATCOMQUOTE, RESPONSE };
|
||||||
std::string ConvertToOutputFormat(const std::string& source,
|
std::string ConvertToOutputFormat(const std::string& source,
|
||||||
OutputFormat output);
|
OutputFormat output);
|
||||||
std::string Convert(const std::string& remote, RelativeRoot local,
|
std::string Convert(const std::string& remote, RelativeRoot local,
|
||||||
|
|
|
@ -630,7 +630,7 @@ cmLocalUnixMakefileGenerator3
|
||||||
|
|
||||||
// Construct the left hand side of the rule.
|
// Construct the left hand side of the rule.
|
||||||
replace = target;
|
replace = target;
|
||||||
std::string tgt = this->Convert(replace,HOME_OUTPUT,MAKEFILE);
|
std::string tgt = this->Convert(replace,HOME_OUTPUT,MAKERULE);
|
||||||
const char* space = "";
|
const char* space = "";
|
||||||
if(tgt.size() == 1)
|
if(tgt.size() == 1)
|
||||||
{
|
{
|
||||||
|
@ -663,7 +663,7 @@ cmLocalUnixMakefileGenerator3
|
||||||
dep != depends.end(); ++dep)
|
dep != depends.end(); ++dep)
|
||||||
{
|
{
|
||||||
replace = *dep;
|
replace = *dep;
|
||||||
replace = this->Convert(replace,HOME_OUTPUT,MAKEFILE);
|
replace = this->Convert(replace,HOME_OUTPUT,MAKERULE);
|
||||||
os << cmMakeSafe(tgt) << space << ": " << cmMakeSafe(replace) << "\n";
|
os << cmMakeSafe(tgt) << space << ": " << cmMakeSafe(replace) << "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -218,7 +218,7 @@ void cmMakefileTargetGenerator::WriteCommonCodeRules()
|
||||||
<< this->LocalGenerator->IncludeDirective << " " << root
|
<< this->LocalGenerator->IncludeDirective << " " << root
|
||||||
<< this->Convert(dependFileNameFull,
|
<< this->Convert(dependFileNameFull,
|
||||||
cmLocalGenerator::HOME_OUTPUT,
|
cmLocalGenerator::HOME_OUTPUT,
|
||||||
cmLocalGenerator::MAKEFILE)
|
cmLocalGenerator::MAKERULE)
|
||||||
<< "\n\n";
|
<< "\n\n";
|
||||||
|
|
||||||
if(!this->NoRuleMessages)
|
if(!this->NoRuleMessages)
|
||||||
|
@ -229,7 +229,7 @@ void cmMakefileTargetGenerator::WriteCommonCodeRules()
|
||||||
<< this->LocalGenerator->IncludeDirective << " " << root
|
<< this->LocalGenerator->IncludeDirective << " " << root
|
||||||
<< this->Convert(this->ProgressFileNameFull,
|
<< this->Convert(this->ProgressFileNameFull,
|
||||||
cmLocalGenerator::HOME_OUTPUT,
|
cmLocalGenerator::HOME_OUTPUT,
|
||||||
cmLocalGenerator::MAKEFILE)
|
cmLocalGenerator::MAKERULE)
|
||||||
<< "\n\n";
|
<< "\n\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -262,7 +262,7 @@ void cmMakefileTargetGenerator::WriteCommonCodeRules()
|
||||||
<< this->LocalGenerator->IncludeDirective << " " << root
|
<< this->LocalGenerator->IncludeDirective << " " << root
|
||||||
<< this->Convert(this->FlagFileNameFull,
|
<< this->Convert(this->FlagFileNameFull,
|
||||||
cmLocalGenerator::HOME_OUTPUT,
|
cmLocalGenerator::HOME_OUTPUT,
|
||||||
cmLocalGenerator::MAKEFILE)
|
cmLocalGenerator::MAKERULE)
|
||||||
<< "\n\n";
|
<< "\n\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -54,7 +54,7 @@ void cmMakefileUtilityTargetGenerator::WriteRuleFiles()
|
||||||
<< this->LocalGenerator->IncludeDirective << " " << root
|
<< this->LocalGenerator->IncludeDirective << " " << root
|
||||||
<< this->Convert(this->ProgressFileNameFull,
|
<< this->Convert(this->ProgressFileNameFull,
|
||||||
cmLocalGenerator::HOME_OUTPUT,
|
cmLocalGenerator::HOME_OUTPUT,
|
||||||
cmLocalGenerator::MAKEFILE)
|
cmLocalGenerator::MAKERULE)
|
||||||
<< "\n\n";
|
<< "\n\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue