From aa58ac5fb18cedc2c97a4c86f1c10b10b2708099 Mon Sep 17 00:00:00 2001 From: Aleksi Lindeman Date: Sun, 25 Nov 2018 15:24:08 +0100 Subject: Add option to always run build --- include/ninja/Ninja.hpp | 3 ++- src/Ninja.cpp | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/include/ninja/Ninja.hpp b/include/ninja/Ninja.hpp index 3fed138..095c959 100644 --- a/include/ninja/Ninja.hpp +++ b/include/ninja/Ninja.hpp @@ -69,7 +69,7 @@ namespace ninja const std::string value; }; - class NinjaBuild; + struct NinjaBuild; // Functions throw NinjaException on failure class NinjaRule @@ -94,6 +94,7 @@ namespace ninja const std::string out; const std::vector additionalArgs; const std::vector dependsOnBuilds; + bool alwaysRun; }; // Functions throw NinjaException on failure diff --git a/src/Ninja.cpp b/src/Ninja.cpp index 5470d2b..09df2c1 100644 --- a/src/Ninja.cpp +++ b/src/Ninja.cpp @@ -214,6 +214,8 @@ namespace ninja result += "\n\n"; } + result += "build always: phony\n\n"; + for(const NinjaBuild *build : builds) { result += "build "; @@ -232,6 +234,9 @@ namespace ninja } } + if(build->alwaysRun) + result += " | always"; + for(const NinjaArgValue &additionalArg : build->additionalArgs) { result += "\n "; -- cgit v1.2.3