From 894813b993963de006d0a8aa7480b0403daaa87a Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 13 Apr 2023 13:55:00 +0200 Subject: Move cli module to libbuild2-cli library This is a temporary measure (until we unboundle this module) needed for in-process configure support in bpkg. --- libbuild2/cli/target.hxx | 61 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 libbuild2/cli/target.hxx (limited to 'libbuild2/cli/target.hxx') diff --git a/libbuild2/cli/target.hxx b/libbuild2/cli/target.hxx new file mode 100644 index 0000000..8efb837 --- /dev/null +++ b/libbuild2/cli/target.hxx @@ -0,0 +1,61 @@ +// file : libbuild2/cli/target.hxx -*- C++ -*- +// license : MIT; see accompanying LICENSE file + +#ifndef LIBBUILD2_CLI_TARGET_HXX +#define LIBBUILD2_CLI_TARGET_HXX + +#include +#include + +#include + +#include + +#include + +namespace build2 +{ + namespace cli + { + class LIBBUILD2_CLI_SYMEXPORT cli: public file + { + public: + cli (context& c, dir_path d, dir_path o, string n) + : file (c, move (d), move (o), move (n)) + { + dynamic_type = &static_type; + } + + public: + static const target_type static_type; + }; + + // Standard layout type compatible with group_view's const target*[3]. + // + struct cli_cxx_members + { + const cxx::hxx* h = nullptr; + const cxx::cxx* c = nullptr; + const cxx::ixx* i = nullptr; + }; + + class LIBBUILD2_CLI_SYMEXPORT cli_cxx: public mtime_target, + public cli_cxx_members + { + public: + cli_cxx (context& c, dir_path d, dir_path o, string n) + : mtime_target (c, move (d), move (o), move (n)) + { + dynamic_type = &static_type; + } + + virtual group_view + group_members (action) const override; + + public: + static const target_type static_type; + }; + } +} + +#endif // LIBBUILD2_CLI_TARGET_HXX -- cgit v1.1