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
9 #include <unordered_set>
13 enum cmNinjaTargetDepends
15 DependOnTargetArtifact
,
16 DependOnTargetOrdering
19 using cmNinjaDeps
= std::vector
<std::string
>;
20 using cmNinjaVars
= std::map
<std::string
, std::string
>;
25 cmNinjaRule(std::string name
)
26 : Name(std::move(name
))
32 std::string Description
;
37 std::string RspContent
;
39 bool Generator
= false;
45 cmNinjaBuild() = default;
46 cmNinjaBuild(std::string rule
)
47 : Rule(std::move(rule
))
54 cmNinjaDeps ImplicitOuts
;
55 cmNinjaDeps WorkDirOuts
; // For cmake_ninja_workdir.
56 cmNinjaDeps ExplicitDeps
;
57 cmNinjaDeps ImplicitDeps
;
58 cmNinjaDeps OrderOnlyDeps
;
59 cmNinjaVars Variables
;