summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2005-04-29 14:11:24 (GMT)
committerBrad King <brad.king@kitware.com>2005-04-29 14:11:24 (GMT)
commit48702f8a8d5c44a7b5f5a848ac83efde3edbb469 (patch)
treec73a0fabdec6702598cbfedb7edfbea9998bf3f9 /Source
parentcf5c2b7ae8a8613258c02a182eec24b09cdf8a2e (diff)
downloadCMake-48702f8a8d5c44a7b5f5a848ac83efde3edbb469.zip
CMake-48702f8a8d5c44a7b5f5a848ac83efde3edbb469.tar.gz
CMake-48702f8a8d5c44a7b5f5a848ac83efde3edbb469.tar.bz2
COMP: Converting INSTALL->ALL_BUILD dependency implementation to use the AddUtility method on a target. This significantly simplifies the implementation and removes warnings about hiding virtual functions.
Diffstat (limited to 'Source')
-rw-r--r--Source/cmGlobalVisualStudio6Generator.cxx36
-rw-r--r--Source/cmGlobalVisualStudio6Generator.h2
-rw-r--r--Source/cmGlobalVisualStudio71Generator.cxx28
-rw-r--r--Source/cmGlobalVisualStudio71Generator.h4
-rw-r--r--Source/cmGlobalVisualStudio7Generator.cxx44
-rw-r--r--Source/cmGlobalVisualStudio7Generator.h2
6 files changed, 35 insertions, 81 deletions
diff --git a/Source/cmGlobalVisualStudio6Generator.cxx b/Source/cmGlobalVisualStudio6Generator.cxx
index f89a49c..6704c73 100644
--- a/Source/cmGlobalVisualStudio6Generator.cxx
+++ b/Source/cmGlobalVisualStudio6Generator.cxx
@@ -165,6 +165,17 @@ void cmGlobalVisualStudio6Generator::Generate()
AddUtilityCommand("INSTALL", false, no_output, no_depends,
cmake_command.c_str(),
"-DBUILD_TYPE=$(IntDir)", "-P", "cmake_install.cmake");
+
+ // Make the INSTALL target depend on ALL_BUILD unless the
+ // project says to not do so.
+ const char* noall =
+ gen[0]->GetMakefile()
+ ->GetDefinition("CMAKE_SKIP_INSTALL_ALL_DEPENDENCY");
+ if(!noall || cmSystemTools::IsOff(noall))
+ {
+ cmTarget* install = gen[0]->GetMakefile()->FindTarget("INSTALL");
+ install->AddUtility("ALL_BUILD");
+ }
}
}
@@ -267,7 +278,6 @@ void cmGlobalVisualStudio6Generator::WriteDSWFile(std::ostream& fout,
if ((l->second.GetType() != cmTarget::INSTALL_FILES)
&& (l->second.GetType() != cmTarget::INSTALL_PROGRAMS))
{
- const char* extra_depend = 0;
bool skip = false;
// skip ALL_BUILD and RUN_TESTS if they have already been added
if(l->first == "ALL_BUILD" )
@@ -291,16 +301,6 @@ void cmGlobalVisualStudio6Generator::WriteDSWFile(std::ostream& fout,
{
doneInstall = true;
}
-
- // Make the INSTALL target depend on ALL_BUILD unless the
- // project says to not do so.
- const char* noall =
- root->GetMakefile()
- ->GetDefinition("CMAKE_SKIP_INSTALL_ALL_DEPENDENCY");
- if(!noall || cmSystemTools::IsOff(noall))
- {
- extra_depend = "ALL_BUILD";
- }
}
if(l->first == "RUN_TESTS")
{
@@ -315,8 +315,7 @@ void cmGlobalVisualStudio6Generator::WriteDSWFile(std::ostream& fout,
}
if(!skip)
{
- this->WriteProject(fout, si->c_str(), dir.c_str(),l->second,
- extra_depend);
+ this->WriteProject(fout, si->c_str(), dir.c_str(),l->second);
}
++si;
}
@@ -366,8 +365,7 @@ void cmGlobalVisualStudio6Generator::OutputDSWFile()
void cmGlobalVisualStudio6Generator::WriteProject(std::ostream& fout,
const char* dspname,
const char* dir,
- const cmTarget& target,
- const char* extra_depend)
+ const cmTarget& target)
{
fout << "#########################################################"
"######################\n\n";
@@ -401,14 +399,6 @@ void cmGlobalVisualStudio6Generator::WriteProject(std::ostream& fout,
}
}
- // Add an extra dependency if specified.
- if(extra_depend)
- {
- fout << "Begin Project Dependency\n";
- fout << "Project_Dep_Name " << extra_depend << "\n";
- fout << "End Project Dependency\n";
- }
-
std::set<cmStdString>::const_iterator i, end;
// write utility dependencies.
i = target.GetUtilities().begin();
diff --git a/Source/cmGlobalVisualStudio6Generator.h b/Source/cmGlobalVisualStudio6Generator.h
index 3ff1141..3f0841f 100644
--- a/Source/cmGlobalVisualStudio6Generator.h
+++ b/Source/cmGlobalVisualStudio6Generator.h
@@ -79,7 +79,7 @@ private:
void WriteDSWHeader(std::ostream& fout);
void WriteProject(std::ostream& fout,
const char* name, const char* path,
- const cmTarget &t, const char* extra_depend);
+ const cmTarget &t);
void WriteExternalProject(std::ostream& fout,
const char* name, const char* path,
const std::vector<std::string>& dependencies);
diff --git a/Source/cmGlobalVisualStudio71Generator.cxx b/Source/cmGlobalVisualStudio71Generator.cxx
index 8d87f2a..455ae4a 100644
--- a/Source/cmGlobalVisualStudio71Generator.cxx
+++ b/Source/cmGlobalVisualStudio71Generator.cxx
@@ -130,7 +130,6 @@ void cmGlobalVisualStudio71Generator::WriteSLNFile(std::ostream& fout,
if ((l->second.GetType() != cmTarget::INSTALL_FILES)
&& (l->second.GetType() != cmTarget::INSTALL_PROGRAMS))
{
- const char* extra_depend = 0;
bool skip = false;
if(l->first == "ALL_BUILD" )
{
@@ -153,15 +152,6 @@ void cmGlobalVisualStudio71Generator::WriteSLNFile(std::ostream& fout,
{
doneInstall = true;
}
- // Make the INSTALL target depend on ALL_BUILD unless the
- // project says to not do so.
- const char* noall =
- root->GetMakefile()
- ->GetDefinition("CMAKE_SKIP_INSTALL_ALL_DEPENDENCY");
- if(!noall || cmSystemTools::IsOff(noall))
- {
- extra_depend = "ALL_BUILD";
- }
}
if(l->first == "RUN_TESTS")
{
@@ -176,8 +166,7 @@ void cmGlobalVisualStudio71Generator::WriteSLNFile(std::ostream& fout,
}
if(!skip)
{
- this->WriteProject(fout, si->c_str(), dir.c_str(),l->second,
- extra_depend);
+ this->WriteProject(fout, si->c_str(), dir.c_str(),l->second);
}
++si;
}
@@ -240,8 +229,7 @@ void
cmGlobalVisualStudio71Generator::WriteProject(std::ostream& fout,
const char* dspname,
const char* dir,
- const cmTarget& t,
- const char* extra_depend)
+ const cmTarget& t)
{
std::string d = cmSystemTools::ConvertToOutputPath(dir);
fout << "Project(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \""
@@ -249,7 +237,7 @@ cmGlobalVisualStudio71Generator::WriteProject(std::ostream& fout,
<< d << "\\" << dspname << ".vcproj\", \"{"
<< this->GetGUID(dspname) << "}\"\n";
fout << "\tProjectSection(ProjectDependencies) = postProject\n";
- this->WriteProjectDepends(fout, dspname, dir, t, extra_depend);
+ this->WriteProjectDepends(fout, dspname, dir, t);
fout << "\tEndProjectSection\n";
fout <<"EndProject\n";
@@ -265,8 +253,7 @@ cmGlobalVisualStudio71Generator
::WriteProjectDepends(std::ostream& fout,
const char* dspname,
const char*,
- const cmTarget& target,
- const char* extra_depend)
+ const cmTarget& target)
{
// insert Begin Project Dependency Project_Dep_Name project stuff here
if (target.GetType() != cmTarget::STATIC_LIBRARY)
@@ -291,13 +278,6 @@ cmGlobalVisualStudio71Generator
}
}
- // Add the extra dependency if requested.
- if(extra_depend)
- {
- fout << "\t\t{" << this->GetGUID(extra_depend) << "} = {"
- << this->GetGUID(extra_depend) << "}\n";
- }
-
std::set<cmStdString>::const_iterator i, end;
// write utility dependencies.
i = target.GetUtilities().begin();
diff --git a/Source/cmGlobalVisualStudio71Generator.h b/Source/cmGlobalVisualStudio71Generator.h
index 1ae3fa9..a5a47a8 100644
--- a/Source/cmGlobalVisualStudio71Generator.h
+++ b/Source/cmGlobalVisualStudio71Generator.h
@@ -48,10 +48,10 @@ protected:
std::vector<cmLocalGenerator*>& generators);
virtual void WriteProject(std::ostream& fout,
const char* name, const char* path,
- const cmTarget &t, const char* extra_depend);
+ const cmTarget &t);
virtual void WriteProjectDepends(std::ostream& fout,
const char* name, const char* path,
- const cmTarget &t, const char* extra_depend);
+ const cmTarget &t);
virtual void WriteProjectConfigurations(std::ostream& fout, const char* name, bool in_all);
virtual void WriteExternalProject(std::ostream& fout, const char* name, const char* path,
const std::vector<std::string>& depends);
diff --git a/Source/cmGlobalVisualStudio7Generator.cxx b/Source/cmGlobalVisualStudio7Generator.cxx
index 9b3952e..7eb1272 100644
--- a/Source/cmGlobalVisualStudio7Generator.cxx
+++ b/Source/cmGlobalVisualStudio7Generator.cxx
@@ -197,9 +197,20 @@ void cmGlobalVisualStudio7Generator::Generate()
AddUtilityCommand("INSTALL", false, no_output, no_depends,
cmake_command.c_str(),
"-DBUILD_TYPE=$(IntDir)", "-P", "cmake_install.cmake");
+
+ // Make the INSTALL target depend on ALL_BUILD unless the
+ // project says to not do so.
+ const char* noall =
+ gen[0]->GetMakefile()
+ ->GetDefinition("CMAKE_SKIP_INSTALL_ALL_DEPENDENCY");
+ if(!noall || cmSystemTools::IsOff(noall))
+ {
+ cmTarget* install = gen[0]->GetMakefile()->FindTarget("INSTALL");
+ install->AddUtility("ALL_BUILD");
+ }
}
}
-
+
// add the Run Tests command
this->SetupTests();
@@ -432,21 +443,7 @@ void cmGlobalVisualStudio7Generator::WriteSLNFile(std::ostream& fout,
else if ((l->second.GetType() != cmTarget::INSTALL_FILES)
&& (l->second.GetType() != cmTarget::INSTALL_PROGRAMS))
{
- // Make the INSTALL target depend on ALL_BUILD unless the
- // project says to not do so.
- const char* extra_depend = 0;
- if(l->first == "INSTALL")
- {
- const char* noall =
- root->GetMakefile()
- ->GetDefinition("CMAKE_SKIP_INSTALL_ALL_DEPENDENCY");
- if(!noall || cmSystemTools::IsOff(noall))
- {
- extra_depend = "ALL_BUILD";
- }
- }
- this->WriteProjectDepends(fout, si->c_str(), dir.c_str(), l->second,
- extra_depend);
+ this->WriteProjectDepends(fout, si->c_str(), dir.c_str(), l->second);
++si;
}
}
@@ -517,8 +514,7 @@ cmGlobalVisualStudio7Generator
::WriteProjectDepends(std::ostream& fout,
const char* dspname,
const char*,
- const cmTarget& target,
- const char* extra_depend)
+ const cmTarget& target)
{
int depcount = 0;
// insert Begin Project Dependency Project_Dep_Name project stuff here
@@ -555,18 +551,6 @@ cmGlobalVisualStudio7Generator
}
}
- // Add the extra dependency if requested.
- if(extra_depend)
- {
- std::string guid = this->GetGUID(extra_depend);
- if(!guid.empty())
- {
- fout << "\t\t{" << this->GetGUID(dspname) << "}." << depcount << " = {"
- << guid << "}\n";
- depcount++;
- }
- }
-
std::set<cmStdString>::const_iterator i, end;
// write utility dependencies.
i = target.GetUtilities().begin();
diff --git a/Source/cmGlobalVisualStudio7Generator.h b/Source/cmGlobalVisualStudio7Generator.h
index 7330a5f..f735dc7 100644
--- a/Source/cmGlobalVisualStudio7Generator.h
+++ b/Source/cmGlobalVisualStudio7Generator.h
@@ -89,7 +89,7 @@ protected:
const cmTarget &t);
virtual void WriteProjectDepends(std::ostream& fout,
const char* name, const char* path,
- const cmTarget &t, const char* extra_depend);
+ const cmTarget &t);
virtual void WriteProjectConfigurations(std::ostream& fout, const char* name, bool in_all);
virtual void WriteSLNFooter(std::ostream& fout);
virtual void WriteSLNHeader(std::ostream& fout);