summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalUnixMakefileGenerator3.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2006-02-16 20:19:00 (GMT)
committerBrad King <brad.king@kitware.com>2006-02-16 20:19:00 (GMT)
commit537e2b4ed57d5a84f140f9b9bde427e7b604b330 (patch)
tree8f7869ce7e441cdb2b45d46a235d74ca97cde6f9 /Source/cmLocalUnixMakefileGenerator3.cxx
parent13661cdd23790dd6d8c118ba7b95b278966e7dae (diff)
downloadCMake-537e2b4ed57d5a84f140f9b9bde427e7b604b330.zip
CMake-537e2b4ed57d5a84f140f9b9bde427e7b604b330.tar.gz
CMake-537e2b4ed57d5a84f140f9b9bde427e7b604b330.tar.bz2
ENH: Implemented RPATH specification support. It is documented by the command SET_TARGET_PROPERTIES.
Diffstat (limited to 'Source/cmLocalUnixMakefileGenerator3.cxx')
-rw-r--r--Source/cmLocalUnixMakefileGenerator3.cxx18
1 files changed, 16 insertions, 2 deletions
diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index fe1e25b..d421b4b 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -1288,6 +1288,7 @@ void cmLocalUnixMakefileGenerator3
// Write special "install" target to run cmake_install.cmake script.
{
std::vector<std::string> depends;
+ depends.push_back("preinstall");
std::vector<std::string> commands;
std::string cmd;
if(m_Makefile->GetDefinition("CMake_BINARY_DIR"))
@@ -1304,6 +1305,12 @@ void cmLocalUnixMakefileGenerator3
}
cmd += " -P cmake_install.cmake";
commands.push_back(cmd);
+ this->WriteMakeRule(ruleFileStream,
+ "Special rule to run installation script.",
+ "install", depends, commands, true);
+
+ commands.clear();
+ depends.clear();
const char* noall =
m_Makefile->GetDefinition("CMAKE_SKIP_INSTALL_ALL_DEPENDENCY");
if(!noall || cmSystemTools::IsOff(noall))
@@ -1311,9 +1318,16 @@ void cmLocalUnixMakefileGenerator3
// Drive the build before installing.
depends.push_back("all");
}
+ else
+ {
+ // At least make sure the build system is up to date.
+ depends.push_back("cmake_check_build_system");
+ }
+ commands.push_back(this->GetRecursiveMakeCall
+ ("CMakeFiles/Makefile2", "preinstall"));
this->WriteMakeRule(ruleFileStream,
- "Special rule to run installation script.",
- "install", depends, commands, true);
+ "Prepare targets for installation.",
+ "preinstall", depends, commands, true);
}
// Write special "rebuild_cache" target to re-run cmake.