1 #ifndef BINARYCOMPONENT_H_
2 #define BINARYCOMPONENT_H_
5 #include "libbuilder_api.h"
11 class LIBBUILDER_API BinaryComponent: public Component
14 class Loader: public Msp::DataFile::DerivedObjectLoader<BinaryComponent, Component::Loader>
17 Loader(BinaryComponent &);
19 void use(const std::string &);
31 std::vector<const Component *> uses;
34 BinaryComponent(SourcePackage &p, const std::string &n, Type t): Component(p, n), type(t) { }
36 Type get_type() const { return type; }
38 void create_build_info() override;
39 void update_exported_build_info(BuildInfo &) const override;
40 void create_targets() const override;
42 std::vector<FileTarget *> create_sources() const;
43 static std::vector<Target *> extract_group(std::vector<FileTarget *> &, const Tool &);
44 void create_install(FileTarget &) const;