aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/cc/target.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2023-08-22 09:43:20 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2023-08-22 09:43:20 +0200
commit18e079b37794dc97b6c51045476bf43296b56dd3 (patch)
treeb81682b523ab87827bbfa7c9080a9b20dcbbda65 /libbuild2/cc/target.cxx
parent1741b21e27945da8c55069fa7cd66e55757be053 (diff)
Add abstract c_inc{} and cxx_inc{} target types
These abstract base target types are meant for deriving additional target types (for example, Qt moc{}) that can be #include'd in C and C++ translation units, respectively. In particular, only such targets will be considered to reverse-lookup extensions to target types (see dyndep_rule::map_extension() for background).
Diffstat (limited to 'libbuild2/cc/target.cxx')
-rw-r--r--libbuild2/cc/target.cxx13
1 files changed, 13 insertions, 0 deletions
diff --git a/libbuild2/cc/target.cxx b/libbuild2/cc/target.cxx
index 6c5d7c8..6a518dd 100644
--- a/libbuild2/cc/target.cxx
+++ b/libbuild2/cc/target.cxx
@@ -80,6 +80,19 @@ namespace build2
target_type::flag::none
};
+ const target_type c_inc::static_type
+ {
+ "c_inc",
+ &cc::static_type,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ &target_search,
+ target_type::flag::none
+ };
+
extern const char pc_ext[] = "pc"; // VC14 rejects constexpr.
const target_type pc::static_type
{