ENH: clean up of INCLUDE_EXTERNAL_MSPROJECT contributed by Clinton Stimpson
This commit is contained in:
parent
b1f3e10439
commit
5001eed8a5
|
@ -289,13 +289,9 @@ void cmGlobalVisualStudio6Generator::WriteDSWFile(std::ostream& fout,
|
|||
if (strncmp(l->first.c_str(), "INCLUDE_EXTERNAL_MSPROJECT", 26) == 0)
|
||||
{
|
||||
cmCustomCommand cc = l->second.GetPostBuildCommands()[0];
|
||||
|
||||
// dodgy use of the cmCustomCommand's members to store the
|
||||
// arguments from the INCLUDE_EXTERNAL_MSPROJECT command
|
||||
std::vector<std::string> stuff = cc.GetDepends();
|
||||
std::vector<std::string> depends;
|
||||
depends.push_back(cc.GetOutput());
|
||||
this->WriteExternalProject(fout, stuff[0].c_str(), stuff[1].c_str(), depends);
|
||||
std::string project = cc.GetCommand();
|
||||
std::string location = cc.GetArguments();
|
||||
this->WriteExternalProject(fout, project.c_str(), location.c_str(), cc.GetDepends());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -121,13 +121,10 @@ void cmGlobalVisualStudio71Generator::WriteSLNFile(std::ostream& fout,
|
|||
{
|
||||
cmCustomCommand cc = l->second.GetPostBuildCommands()[0];
|
||||
|
||||
// dodgy use of the cmCustomCommand's members to store the
|
||||
// arguments from the INCLUDE_EXTERNAL_MSPROJECT command
|
||||
std::vector<std::string> stuff = cc.GetDepends();
|
||||
std::vector<std::string> depends;
|
||||
depends.push_back(cc.GetOutput());
|
||||
this->WriteExternalProject(fout, stuff[0].c_str(),
|
||||
stuff[1].c_str(), depends);
|
||||
std::string project = cc.GetCommand();
|
||||
std::string location = cc.GetArguments();
|
||||
this->WriteExternalProject(fout, project.c_str(),
|
||||
location.c_str(), cc.GetDepends());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -207,10 +204,9 @@ void cmGlobalVisualStudio71Generator::WriteSLNFile(std::ostream& fout,
|
|||
if (strncmp(l->first.c_str(), "INCLUDE_EXTERNAL_MSPROJECT", 26) == 0)
|
||||
{
|
||||
cmCustomCommand cc = l->second.GetPostBuildCommands()[0];
|
||||
// dodgy use of the cmCustomCommand's members to store the
|
||||
// arguments from the INCLUDE_EXTERNAL_MSPROJECT command
|
||||
std::vector<std::string> stuff = cc.GetDepends();
|
||||
this->WriteProjectConfigurations(fout, stuff[0].c_str(), l->second.IsInAll());
|
||||
std::string project = cc.GetCommand();
|
||||
|
||||
this->WriteProjectConfigurations(fout, project.c_str(), l->second.IsInAll());
|
||||
}
|
||||
else if ((l->second.GetType() != cmTarget::INSTALL_FILES)
|
||||
&& (l->second.GetType() != cmTarget::INSTALL_PROGRAMS))
|
||||
|
@ -291,7 +287,15 @@ void cmGlobalVisualStudio71Generator::WriteProjectDepends(std::ostream& fout,
|
|||
{
|
||||
std::string name = i->c_str();
|
||||
if(strncmp(name.c_str(), "INCLUDE_EXTERNAL_MSPROJECT", 26) == 0)
|
||||
{
|
||||
// kind of weird removing the first 27 letters.
|
||||
// my recommendatsions:
|
||||
// use cmCustomCommand::GetCommand() to get the project name
|
||||
// or get rid of the target name starting with "INCLUDE_EXTERNAL_MSPROJECT_" and use another
|
||||
// indicator/flag somewhere. These external project names shouldn't conflict with cmake
|
||||
// target names anyways.
|
||||
name.erase(name.begin(), name.begin() + 27);
|
||||
}
|
||||
fout << "\t\t{" << this->GetGUID(name.c_str()) << "} = {"
|
||||
<< this->GetGUID(name.c_str()) << "}\n";
|
||||
}
|
||||
|
|
|
@ -392,13 +392,10 @@ void cmGlobalVisualStudio7Generator::WriteSLNFile(std::ostream& fout,
|
|||
{
|
||||
cmCustomCommand cc = l->second.GetPostBuildCommands()[0];
|
||||
|
||||
// dodgy use of the cmCustomCommand's members to store the
|
||||
// arguments from the INCLUDE_EXTERNAL_MSPROJECT command
|
||||
std::vector<std::string> stuff = cc.GetDepends();
|
||||
std::vector<std::string> depends;
|
||||
depends.push_back(cc.GetOutput());
|
||||
this->WriteExternalProject(fout, stuff[0].c_str(),
|
||||
stuff[1].c_str(), depends);
|
||||
std::string project_name = cc.GetCommand();
|
||||
std::string location = cc.GetArguments();
|
||||
this->WriteExternalProject(fout, project_name.c_str(),
|
||||
location.c_str(), cc.GetDepends());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -481,10 +478,8 @@ void cmGlobalVisualStudio7Generator::WriteSLNFile(std::ostream& fout,
|
|||
if (strncmp(l->first.c_str(), "INCLUDE_EXTERNAL_MSPROJECT", 26) == 0)
|
||||
{
|
||||
cmCustomCommand cc = l->second.GetPostBuildCommands()[0];
|
||||
// dodgy use of the cmCustomCommand's members to store the
|
||||
// arguments from the INCLUDE_EXTERNAL_MSPROJECT command
|
||||
std::vector<std::string> stuff = cc.GetDepends();
|
||||
this->WriteProjectConfigurations(fout, stuff[0].c_str(), l->second.IsInAll());
|
||||
std::string project = cc.GetCommand();
|
||||
this->WriteProjectConfigurations(fout, project.c_str(), l->second.IsInAll());
|
||||
}
|
||||
else if ((l->second.GetType() != cmTarget::INSTALL_FILES)
|
||||
&& (l->second.GetType() != cmTarget::INSTALL_PROGRAMS))
|
||||
|
|
|
@ -30,10 +30,6 @@ bool cmIncludeExternalMSProjectCommand::InitialPass(std::vector<std::string> con
|
|||
{
|
||||
std::string location = args[1];
|
||||
|
||||
std::vector<std::string> name_and_location;
|
||||
name_and_location.push_back(args[0]);
|
||||
name_and_location.push_back(location);
|
||||
|
||||
std::vector<std::string> depends;
|
||||
if (args.size() > 2)
|
||||
{
|
||||
|
@ -47,8 +43,8 @@ bool cmIncludeExternalMSProjectCommand::InitialPass(std::vector<std::string> con
|
|||
utility_name += "_";
|
||||
utility_name += args[0];
|
||||
|
||||
m_Makefile->AddUtilityCommand(utility_name.c_str(), "echo", "\"Include external project\"",
|
||||
true, name_and_location, depends);
|
||||
m_Makefile->AddUtilityCommand(utility_name.c_str(), args[0].c_str(), args[1].c_str(),
|
||||
true, depends);
|
||||
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -1285,10 +1285,10 @@ void cmLocalVisualStudio7Generator::ConfigureFinalPass()
|
|||
for(cmTargets::iterator l = tgts.begin(); l != tgts.end(); l++)
|
||||
{
|
||||
if (strncmp(l->first.c_str(), "INCLUDE_EXTERNAL_MSPROJECT", 26) == 0)
|
||||
{
|
||||
{
|
||||
cmCustomCommand cc = l->second.GetPostBuildCommands()[0];
|
||||
std::vector<std::string> stuff = cc.GetDepends();
|
||||
gg->CreateGUID(stuff[0].c_str());
|
||||
std::string project_name = cc.GetCommand();
|
||||
gg->CreateGUID(project_name.c_str());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue