1 /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
2 file Copyright.txt or https://cmake.org/licensing for details. */
5 #include "cmConfigure.h" // IWYU pragma: keep
13 enum cmNinjaTargetDepends
15 DependOnTargetArtifact,
16 DependOnTargetOrdering
19 using cmNinjaDeps = std::vector<std::string>;
20 using cmNinjaOuts = std::set<std::string>;
21 using cmNinjaVars = std::map<std::string, std::string>;
26 cmNinjaRule(std::string name)
27 : Name(std::move(name))
33 std::string Description;
38 std::string RspContent;
40 bool Generator = false;
46 cmNinjaBuild() = default;
47 cmNinjaBuild(std::string rule)
48 : Rule(std::move(rule))
55 cmNinjaDeps ImplicitOuts;
56 cmNinjaDeps WorkDirOuts; // For cmake_ninja_workdir.
57 cmNinjaDeps ExplicitDeps;
58 cmNinjaDeps ImplicitDeps;
59 cmNinjaDeps OrderOnlyDeps;
60 cmNinjaVars Variables;