diff options
author | Brad King <brad.king@kitware.com> | 2006-02-19 22:27:47 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2006-02-19 22:27:47 (GMT) |
commit | 8dd00d5b1efe13b571a1d8fefc7dca317cdb826c (patch) | |
tree | 9eb09e139a8cd2f45154d91d60a5b249ac055dbb | |
parent | b6e4bc0521290b18d0914d21e19f31f66b328140 (diff) | |
download | CMake-8dd00d5b1efe13b571a1d8fefc7dca317cdb826c.zip CMake-8dd00d5b1efe13b571a1d8fefc7dca317cdb826c.tar.gz CMake-8dd00d5b1efe13b571a1d8fefc7dca317cdb826c.tar.bz2 |
BUG: Fixed relink with new install framework.
-rw-r--r-- | Source/cmInstallTargetGenerator.cxx | 1 | ||||
-rw-r--r-- | Source/cmInstallTargetsCommand.cxx | 1 | ||||
-rw-r--r-- | Source/cmTarget.cxx | 3 | ||||
-rw-r--r-- | Source/cmTarget.h | 9 |
4 files changed, 12 insertions, 2 deletions
diff --git a/Source/cmInstallTargetGenerator.cxx b/Source/cmInstallTargetGenerator.cxx index 9db1856..2ac52ff 100644 --- a/Source/cmInstallTargetGenerator.cxx +++ b/Source/cmInstallTargetGenerator.cxx @@ -26,6 +26,7 @@ cmInstallTargetGenerator ::cmInstallTargetGenerator(cmTarget& t, const char* dest, bool implib): Target(&t), Destination(dest), ImportLibrary(implib) { + this->Target->SetHaveInstallRule(true); } //---------------------------------------------------------------------------- diff --git a/Source/cmInstallTargetsCommand.cxx b/Source/cmInstallTargetsCommand.cxx index 0216c4d..b86d1f3 100644 --- a/Source/cmInstallTargetsCommand.cxx +++ b/Source/cmInstallTargetsCommand.cxx @@ -46,6 +46,7 @@ bool cmInstallTargetsCommand::InitialPass(std::vector<std::string> const& args) { tgts[*s].SetInstallPath(args[0].c_str()); tgts[*s].SetRuntimeInstallPath(runtime_dir.c_str()); + tgts[*s].SetHaveInstallRule(true); } else { diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 985dd98..4238a53 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -30,6 +30,7 @@ cmTarget::cmTarget() m_Makefile = 0; m_LinkLibrariesAnalyzed = false; m_LinkDirectoriesComputed = false; + m_HaveInstallRule = false; } void cmTarget::SetType(TargetType type, const char* name) @@ -1390,7 +1391,7 @@ bool cmTarget::NeedRelinkBeforeInstall() // If there is no install location this target will not be installed // and therefore does not need relinking. - if(this->GetInstallPath().empty()) + if(!this->GetHaveInstallRule()) { return false; } diff --git a/Source/cmTarget.h b/Source/cmTarget.h index 1d061f5..a0af8c4 100644 --- a/Source/cmTarget.h +++ b/Source/cmTarget.h @@ -129,7 +129,13 @@ public: */ std::string GetRuntimeInstallPath() {return m_RuntimeInstallPath;} void SetRuntimeInstallPath(const char *name) {m_RuntimeInstallPath = name;} - + + /** + * Get/Set whether there is an install rule for this target. + */ + bool GetHaveInstallRule() { return m_HaveInstallRule; } + void SetHaveInstallRule(bool h) { m_HaveInstallRule = h; } + /** * Generate the SourceFilesList from the SourceLists. This should only be * done once to be safe. @@ -309,6 +315,7 @@ private: std::vector<std::string> m_Frameworks; std::vector<std::string> m_LinkDirectories; std::vector<std::string> m_ExplicitLinkDirectories; + bool m_HaveInstallRule; std::string m_InstallPath; std::string m_RuntimeInstallPath; std::string m_Directory; |