diff --git a/Source/cmGlobalVisualStudio6Generator.cxx b/Source/cmGlobalVisualStudio6Generator.cxx index 13bfad612..e58521354 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 3086987bf..5e4e44ef6 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 d909231c5..ceb39176b 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$)