From 43df79d9fcc633d3232ba0b1c6f523bb0abf45a6 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 16 Feb 2006 15:39:19 -0500 Subject: BUG: Do not perform pre-build, pre-link, or post-install commands when relinking. --- Source/cmMakefileExecutableTargetGenerator.cxx | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/Source/cmMakefileExecutableTargetGenerator.cxx b/Source/cmMakefileExecutableTargetGenerator.cxx index 87d6feb..c953b72 100644 --- a/Source/cmMakefileExecutableTargetGenerator.cxx +++ b/Source/cmMakefileExecutableTargetGenerator.cxx @@ -236,11 +236,15 @@ void cmMakefileExecutableTargetGenerator::WriteExecutableRule(bool relink) this->Makefile->GetHomeOutputDirectory()); commands.insert(commands.end(), commands1.begin(), commands1.end()); commands1.clear(); - // Add the pre-build and pre-link rules. - this->LocalGenerator-> - AppendCustomCommands(commands, this->Target->GetPreBuildCommands()); - this->LocalGenerator-> - AppendCustomCommands(commands, this->Target->GetPreLinkCommands()); + + // Add the pre-build and pre-link rules building but not when relinking. + if(!relink) + { + this->LocalGenerator + ->AppendCustomCommands(commands, this->Target->GetPreBuildCommands()); + this->LocalGenerator + ->AppendCustomCommands(commands, this->Target->GetPreLinkCommands()); + } // Construct the main link rule. std::string linkRuleVar = "CMAKE_"; @@ -265,9 +269,12 @@ void cmMakefileExecutableTargetGenerator::WriteExecutableRule(bool relink) commands.push_back(symlink); } - // Add the post-build rules. - this->LocalGenerator->AppendCustomCommands - (commands, this->Target->GetPostBuildCommands()); + // Add the post-build rules when building but not when relinking. + if(!relink) + { + this->LocalGenerator-> + AppendCustomCommands(commands, this->Target->GetPostBuildCommands()); + } // Collect up flags to link in needed libraries. cmOStringStream linklibs; -- cgit v0.12