diff options
author | Daniel Eiband <daniel.eiband@brainlab.com> | 2019-09-12 21:20:13 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2019-09-13 15:00:21 (GMT) |
commit | 5d28e361b709a781a131cb9d9da73f04484eff54 (patch) | |
tree | e1fcb55ac14cc7f4d848646fd638b3b2cecaee20 /Source | |
parent | 4fb29850ad325b70fb412d4fd596c0a0d627ae8b (diff) | |
download | CMake-5d28e361b709a781a131cb9d9da73f04484eff54.zip CMake-5d28e361b709a781a131cb9d9da73f04484eff54.tar.gz CMake-5d28e361b709a781a131cb9d9da73f04484eff54.tar.bz2 |
add_custom_command: Move append functionality into class cmMakefile
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmAddCustomCommandCommand.cxx | 12 | ||||
-rw-r--r-- | Source/cmMakefile.cxx | 17 | ||||
-rw-r--r-- | Source/cmMakefile.h | 4 |
3 files changed, 24 insertions, 9 deletions
diff --git a/Source/cmAddCustomCommandCommand.cxx b/Source/cmAddCustomCommandCommand.cxx index 2a0db45..90317bd 100644 --- a/Source/cmAddCustomCommandCommand.cxx +++ b/Source/cmAddCustomCommandCommand.cxx @@ -13,7 +13,6 @@ #include "cmMakefile.h" #include "cmMessageType.h" #include "cmPolicies.h" -#include "cmSourceFile.h" #include "cmStringAlgorithms.h" #include "cmSystemTools.h" #include "cmTarget.h" @@ -317,14 +316,9 @@ bool cmAddCustomCommandCommand(std::vector<std::string> const& args, // Check for an append request. if (append) { - // Lookup an existing command. - if (cmSourceFile* sf = mf.GetSourceFileWithOutput(output[0])) { - if (cmCustomCommand* cc = sf->GetCustomCommand()) { - cc->AppendCommands(commandLines); - cc->AppendDepends(depends); - cc->AppendImplicitDepends(implicit_depends); - return true; - } + if (mf.AppendCustomCommandToOutput(output[0], depends, implicit_depends, + commandLines)) { + return true; } // No command for this output exists. diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index ec2e646..000d84b 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -1111,6 +1111,23 @@ void cmMakefile::AddCustomCommandOldStyle( } } +bool cmMakefile::AppendCustomCommandToOutput( + const std::string& output, const std::vector<std::string>& depends, + const cmImplicitDependsList& implicit_depends, + const cmCustomCommandLines& commandLines) +{ + // Lookup an existing command. + if (cmSourceFile* sf = this->GetSourceFileWithOutput(output)) { + if (cmCustomCommand* cc = sf->GetCustomCommand()) { + cc->AppendCommands(commandLines); + cc->AppendDepends(depends); + cc->AppendImplicitDepends(implicit_depends); + return true; + } + } + return false; +} + cmTarget* cmMakefile::AddUtilityCommand( const std::string& utilityName, TargetOrigin origin, bool excludeFromAll, const std::vector<std::string>& depends, const char* workingDirectory, diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h index f9031c1..8671bd7 100644 --- a/Source/cmMakefile.h +++ b/Source/cmMakefile.h @@ -185,6 +185,10 @@ public: const std::string& source, const cmCustomCommandLines& commandLines, const char* comment); + bool AppendCustomCommandToOutput( + const std::string& output, const std::vector<std::string>& depends, + const cmImplicitDependsList& implicit_depends, + const cmCustomCommandLines& commandLines); /** * Add a define flag to the build. |