ENH: Added dependency on all for install rule to make sure build is up to date before installing. This behavior can be disabled by setting CMAKE_SKIP_INSTALL_ALL_DEPENDENCY to true.

This commit is contained in:
Brad King 2005-04-27 11:46:46 -04:00
parent 0ef2334a5f
commit 4b371ed7fe

View File

@ -1079,7 +1079,7 @@ cmLocalUnixMakefileGenerator2
// Write special "install" target to run cmake_install.cmake script. // Write special "install" target to run cmake_install.cmake script.
{ {
std::vector<std::string> no_depends; std::vector<std::string> depends;
std::vector<std::string> commands; std::vector<std::string> commands;
std::string cmd; std::string cmd;
if(m_Makefile->GetDefinition("CMake_BINARY_DIR")) if(m_Makefile->GetDefinition("CMake_BINARY_DIR"))
@ -1096,9 +1096,16 @@ cmLocalUnixMakefileGenerator2
} }
cmd += " -P cmake_install.cmake"; cmd += " -P cmake_install.cmake";
commands.push_back(cmd); commands.push_back(cmd);
const char* noall =
m_Makefile->GetDefinition("CMAKE_SKIP_INSTALL_ALL_DEPENDENCY");
if(!noall || cmSystemTools::IsOff(noall))
{
// Drive the build before installing.
depends.push_back("all");
}
this->WriteMakeRule(makefileStream, this->WriteMakeRule(makefileStream,
"Special rule to run installation script.", "Special rule to run installation script.",
"install", no_depends, commands); "install", depends, commands);
} }
// Write special "rebuild_cache" target to re-run cmake. // Write special "rebuild_cache" target to re-run cmake.