fixes for untiltiy targets in all
This commit is contained in:
parent
1349d06e78
commit
e126954393
@ -467,6 +467,7 @@ void cmMakefile::AddLibrary(const char* lname, const std::vector<std::string> &s
|
|||||||
{
|
{
|
||||||
cmTarget target;
|
cmTarget target;
|
||||||
target.SetType(cmTarget::LIBRARY);
|
target.SetType(cmTarget::LIBRARY);
|
||||||
|
target.SetInAll(true);
|
||||||
target.GetSourceLists() = srcs;
|
target.GetSourceLists() = srcs;
|
||||||
m_Targets.insert(cmTargets::value_type(lname,target));
|
m_Targets.insert(cmTargets::value_type(lname,target));
|
||||||
}
|
}
|
||||||
@ -476,6 +477,7 @@ void cmMakefile::AddExecutable(const char *exeName,
|
|||||||
{
|
{
|
||||||
cmTarget target;
|
cmTarget target;
|
||||||
target.SetType(cmTarget::EXECUTABLE);
|
target.SetType(cmTarget::EXECUTABLE);
|
||||||
|
target.SetInAll(true);
|
||||||
target.GetSourceLists() = srcs;
|
target.GetSourceLists() = srcs;
|
||||||
m_Targets.insert(cmTargets::value_type(exeName,target));
|
m_Targets.insert(cmTargets::value_type(exeName,target));
|
||||||
}
|
}
|
||||||
|
@ -95,11 +95,12 @@ void cmUnixMakefileGenerator::OutputTargetRules(std::ostream& fout)
|
|||||||
// for each target add to the list of targets
|
// for each target add to the list of targets
|
||||||
fout << "TARGETS = ";
|
fout << "TARGETS = ";
|
||||||
const cmTargets &tgts = m_Makefile->GetTargets();
|
const cmTargets &tgts = m_Makefile->GetTargets();
|
||||||
// libraries
|
// list libraries first
|
||||||
for(cmTargets::const_iterator l = tgts.begin();
|
for(cmTargets::const_iterator l = tgts.begin();
|
||||||
l != tgts.end(); l++)
|
l != tgts.end(); l++)
|
||||||
{
|
{
|
||||||
if (l->second.GetType() == cmTarget::LIBRARY)
|
if (l->second.GetType() == cmTarget::LIBRARY &&
|
||||||
|
l->second.IsInAll())
|
||||||
{
|
{
|
||||||
fout << " \\\nlib" << l->first.c_str() << "${CMAKE_LIB_EXT}";
|
fout << " \\\nlib" << l->first.c_str() << "${CMAKE_LIB_EXT}";
|
||||||
}
|
}
|
||||||
@ -108,9 +109,20 @@ void cmUnixMakefileGenerator::OutputTargetRules(std::ostream& fout)
|
|||||||
for(cmTargets::const_iterator l = tgts.begin();
|
for(cmTargets::const_iterator l = tgts.begin();
|
||||||
l != tgts.end(); l++)
|
l != tgts.end(); l++)
|
||||||
{
|
{
|
||||||
if (!l->second.GetType() == cmTarget::LIBRARY)
|
if (l->second.GetType() == cmTarget::EXECUTABLE &&
|
||||||
|
l->second.IsInAll())
|
||||||
{
|
{
|
||||||
fout << "\\\n" << l->first.c_str();
|
fout << " \\\n" << l->first.c_str();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// list utilities last
|
||||||
|
for(cmTargets::const_iterator l = tgts.begin();
|
||||||
|
l != tgts.end(); l++)
|
||||||
|
{
|
||||||
|
if (l->second.GetType() == cmTarget::UTILITY &&
|
||||||
|
l->second.IsInAll())
|
||||||
|
{
|
||||||
|
fout << " \\\n" << l->first.c_str();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fout << "\n\n";
|
fout << "\n\n";
|
||||||
@ -488,10 +500,19 @@ void cmUnixMakefileGenerator::OutputCustomRules(std::ostream& fout)
|
|||||||
std::string command = c->first;
|
std::string command = c->first;
|
||||||
const cmSourceGroup::CommandFiles& commandFiles = c->second;
|
const cmSourceGroup::CommandFiles& commandFiles = c->second;
|
||||||
// if the command has no outputs, then it is a utility command
|
// if the command has no outputs, then it is a utility command
|
||||||
// with no outputs or depends
|
// with no outputs
|
||||||
if(commandFiles.m_Outputs.size() == 0)
|
if(commandFiles.m_Outputs.size() == 0)
|
||||||
{
|
{
|
||||||
fout << source.c_str() << ":\n\t" << command.c_str() << "\n\n";
|
fout << source.c_str() << ": ";
|
||||||
|
// Write out all the dependencies for this rule.
|
||||||
|
for(std::set<std::string>::const_iterator d =
|
||||||
|
commandFiles.m_Depends.begin();
|
||||||
|
d != commandFiles.m_Depends.end(); ++d)
|
||||||
|
{
|
||||||
|
std::string dep = cmSystemTools::EscapeSpaces(d->c_str());
|
||||||
|
fout << " " << dep.c_str();
|
||||||
|
}
|
||||||
|
fout << "\n\t" << command.c_str() << "\n\n";
|
||||||
}
|
}
|
||||||
// Write a rule for every output generated by this command.
|
// Write a rule for every output generated by this command.
|
||||||
for(std::set<std::string>::const_iterator output =
|
for(std::set<std::string>::const_iterator output =
|
||||||
|
Loading…
x
Reference in New Issue
Block a user