diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2016-06-26 16:06:54 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2016-06-26 16:06:54 +0200 |
commit | 4d1c02b736f4c1e827b11085cdc83ce4b46c03d1 (patch) | |
tree | 8d6a8318c23b1e9085d73c36843c90e875a52095 /build2/scope | |
parent | 70d00b9f7f3266c1962f6d5a6fc8de1866c67949 (diff) |
Add notion of ad hoc group, use to handle DLL/import library
Diffstat (limited to 'build2/scope')
-rw-r--r-- | build2/scope | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/build2/scope b/build2/scope index ad9c3a0..3649aa1 100644 --- a/build2/scope +++ b/build2/scope @@ -218,6 +218,20 @@ namespace build2 const target_type* find_target_type (name&, const string*& ext) const; + // Dynamically derive a new target type from an existing one. Return the + // reference to the target type and an indicator of whether it was + // actually created. + // + pair<reference_wrapper<const target_type>, bool> + derive_target_type (const string& name, const target_type& base); + + template <typename T> + pair<reference_wrapper<const target_type>, bool> + derive_target_type (const string& name) + { + return derive_target_type (name, T::static_type); + } + // Rules. // public: |