summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Cedilnik <andy.cedilnik@kitware.com>2004-04-15 17:09:24 (GMT)
committerAndy Cedilnik <andy.cedilnik@kitware.com>2004-04-15 17:09:24 (GMT)
commit9ac968174efc39ee42c011038b99ace4e6a50cec (patch)
tree09a98cf4c12aa1c9c1356857a7f94ebd7375241d
parent5c85e88bfd2bd74bb3525a44e5ac321c3272665b (diff)
downloadCMake-9ac968174efc39ee42c011038b99ace4e6a50cec.zip
CMake-9ac968174efc39ee42c011038b99ace4e6a50cec.tar.gz
CMake-9ac968174efc39ee42c011038b99ace4e6a50cec.tar.bz2
ENH: Handle make install target on Visual Studio 6 and 7 and install templates
-rw-r--r--Source/cmGlobalVisualStudio6Generator.cxx17
-rw-r--r--Source/cmGlobalVisualStudio7Generator.cxx17
-rw-r--r--Templates/CMakeLists.txt2
3 files changed, 36 insertions, 0 deletions
diff --git a/Source/cmGlobalVisualStudio6Generator.cxx b/Source/cmGlobalVisualStudio6Generator.cxx
index 13bfad6..e585213 100644
--- a/Source/cmGlobalVisualStudio6Generator.cxx
+++ b/Source/cmGlobalVisualStudio6Generator.cxx
@@ -171,6 +171,11 @@ void cmGlobalVisualStudio6Generator::Generate()
{
gen[0]->GetMakefile()->
AddUtilityCommand("ALL_BUILD", "echo","\"Build all projects\"",false,srcs);
+ std::string cmake_command =
+ m_LocalGenerators[0]->GetMakefile()->GetDefinition("CMAKE_COMMAND");
+ gen[0]->GetMakefile()->
+ AddUtilityCommand("INSTALL", cmake_command.c_str(),
+ "-DBUILD_TYPE=$(IntDir) -P cmake_install.cmake",false,srcs);
}
}
@@ -217,6 +222,7 @@ void cmGlobalVisualStudio6Generator::WriteDSWFile(std::ostream& fout,
unsigned int i;
bool doneAllBuild = false;
bool doneRunTests = false;
+ bool doneInstall = false;
for(i = 0; i < generators.size(); ++i)
{
@@ -306,6 +312,17 @@ void cmGlobalVisualStudio6Generator::WriteDSWFile(std::ostream& fout,
doneAllBuild = true;
}
}
+ if(l->first == "INSTALL")
+ {
+ if(doneInstall)
+ {
+ skip = true;
+ }
+ else
+ {
+ doneInstall = true;
+ }
+ }
if(l->first == "RUN_TESTS")
{
if(doneRunTests)
diff --git a/Source/cmGlobalVisualStudio7Generator.cxx b/Source/cmGlobalVisualStudio7Generator.cxx
index 3086987..5e4e44e 100644
--- a/Source/cmGlobalVisualStudio7Generator.cxx
+++ b/Source/cmGlobalVisualStudio7Generator.cxx
@@ -256,6 +256,11 @@ void cmGlobalVisualStudio7Generator::Generate()
{
gen[0]->GetMakefile()->
AddUtilityCommand("ALL_BUILD", "echo","\"Build all projects\"",false,srcs);
+ std::string cmake_command =
+ m_LocalGenerators[0]->GetMakefile()->GetDefinition("CMAKE_COMMAND");
+ gen[0]->GetMakefile()->
+ AddUtilityCommand("INSTALL", cmake_command.c_str(),
+ "-DBUILD_TYPE=$(IntDir) -P cmake_install.cmake",false,srcs);
}
}
@@ -314,6 +319,7 @@ void cmGlobalVisualStudio7Generator::WriteSLNFile(std::ostream& fout,
homedir += "/";
bool doneAllBuild = false;
bool doneRunTests = false;
+ bool doneInstall = false;
// For each cmMakefile, create a VCProj for it, and
// add it to this SLN file
@@ -407,6 +413,17 @@ void cmGlobalVisualStudio7Generator::WriteSLNFile(std::ostream& fout,
doneAllBuild = true;
}
}
+ if(l->first == "INSTALL")
+ {
+ if(doneInstall)
+ {
+ skip = true;
+ }
+ else
+ {
+ doneInstall = true;
+ }
+ }
if(l->first == "RUN_TESTS")
{
if(doneRunTests)
diff --git a/Templates/CMakeLists.txt b/Templates/CMakeLists.txt
index d909231..ceb3917 100644
--- a/Templates/CMakeLists.txt
+++ b/Templates/CMakeLists.txt
@@ -1,3 +1,5 @@
# just install the modules
INSTALL_PROGRAMS(${CMAKE_DATA_DIR}/Templates install-sh)
+INSTALL_FILES(${CMAKE_DATA_DIR}/Templates .*\\.cmake$)
+INSTALL_FILES(${CMAKE_DATA_DIR}/Templates .*\\.dsptemplate$)