diff options
author | Brad King <brad.king@kitware.com> | 2021-12-15 13:52:26 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2021-12-15 13:52:52 (GMT) |
commit | 029c8f50652415baf4aa3dd96c9a8dc9626ae4ec (patch) | |
tree | 56affae489d750c4fab198b3d7a1e49b50770664 /Source/cmCustomCommand.cxx | |
parent | 7de214699f2bfde97e21bc440be30e6866b6e746 (diff) | |
parent | 780341f360773d7b3b766b835bd539f46397e0a6 (diff) | |
download | CMake-029c8f50652415baf4aa3dd96c9a8dc9626ae4ec.zip CMake-029c8f50652415baf4aa3dd96c9a8dc9626ae4ec.tar.gz CMake-029c8f50652415baf4aa3dd96c9a8dc9626ae4ec.tar.bz2 |
Merge topic 'custom-command-main-dependency'
780341f360 cmCustomCommand: Track main dependency explicitly
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6800
Diffstat (limited to 'Source/cmCustomCommand.cxx')
-rw-r--r-- | Source/cmCustomCommand.cxx | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/Source/cmCustomCommand.cxx b/Source/cmCustomCommand.cxx index f009632..68c65bb 100644 --- a/Source/cmCustomCommand.cxx +++ b/Source/cmCustomCommand.cxx @@ -2,6 +2,7 @@ file Copyright.txt or https://cmake.org/licensing for details. */ #include "cmCustomCommand.h" +#include <cassert> #include <utility> #include <cmext/algorithm> @@ -38,9 +39,32 @@ const std::vector<std::string>& cmCustomCommand::GetDepends() const void cmCustomCommand::SetDepends(std::vector<std::string> depends) { + if (this->HasMainDependency_) { + depends.insert(depends.begin(), std::move(this->Depends[0])); + } + Depends = std::move(depends); } +const std::string& cmCustomCommand::GetMainDependency() const +{ + assert(this->HasMainDependency_); + return this->Depends[0]; +} + +void cmCustomCommand::SetMainDependency(std::string main_dependency) +{ + if (this->HasMainDependency_) { + assert(!main_dependency.empty()); + this->Depends[0] = std::move(main_dependency); + } else if (main_dependency.empty()) { + // Do nothing. + } else { + this->Depends.insert(this->Depends.begin(), std::move(main_dependency)); + this->HasMainDependency_ = true; + } +} + const cmCustomCommandLines& cmCustomCommand::GetCommandLines() const { return this->CommandLines; |