Przeglądaj źródła

ENH: Adding inclusion of pre-build and pre-link commands when building executables and libraries.

Brad King 20 lat temu
rodzic
commit
cf8fb5c6f8
1 zmienionych plików z 6 dodań i 4 usunięć
  1. 6 4
      Source/cmLocalUnixMakefileGenerator2.cxx

+ 6 - 4
Source/cmLocalUnixMakefileGenerator2.cxx

@@ -779,8 +779,6 @@ cmLocalUnixMakefileGenerator2
   ruleFileStream
   ruleFileStream
     << "# Utility rule file for " << target.GetName() << ".\n\n";
     << "# Utility rule file for " << target.GetName() << ".\n\n";
 
 
-  // TODO: Pre-build and pre-link rules.
-
   // Collect the commands and dependencies.
   // Collect the commands and dependencies.
   std::vector<std::string> commands;
   std::vector<std::string> commands;
   std::vector<std::string> depends;
   std::vector<std::string> depends;
@@ -1645,7 +1643,9 @@ cmLocalUnixMakefileGenerator2
   // Add target-specific linker flags.
   // Add target-specific linker flags.
   this->AppendFlags(linkFlags, target.GetProperty("LINK_FLAGS"));
   this->AppendFlags(linkFlags, target.GetProperty("LINK_FLAGS"));
 
 
-  // TODO: Pre-build and pre-link rules.
+  // Add the pre-build and pre-link rules.
+  this->AppendCustomCommands(commands, target.GetPreBuildCommands());
+  this->AppendCustomCommands(commands, target.GetPreLinkCommands());
 
 
   // Construct the main link rule.
   // Construct the main link rule.
   std::string linkRuleVar = "CMAKE_";
   std::string linkRuleVar = "CMAKE_";
@@ -1891,7 +1891,9 @@ cmLocalUnixMakefileGenerator2
     }
     }
   this->AppendCleanCommand(commands, cleanFiles);
   this->AppendCleanCommand(commands, cleanFiles);
 
 
-  // TODO: Pre-build and pre-link rules.
+  // Add the pre-build and pre-link rules.
+  this->AppendCustomCommands(commands, target.GetPreBuildCommands());
+  this->AppendCustomCommands(commands, target.GetPreLinkCommands());
 
 
   // Construct the main link rule.
   // Construct the main link rule.
   std::string linkRule = m_Makefile->GetRequiredDefinition(linkRuleVar);
   std::string linkRule = m_Makefile->GetRequiredDefinition(linkRuleVar);