1 #ifndef STATICLIBRARY_H_
2 #define STATICLIBRARY_H_
4 #include "filetarget.h"
5 #include "libbuilder_api.h"
11 A static library target.
13 class LIBBUILDER_API StaticLibrary: public FileTarget
16 /* TODO this really belongs in a Component, but some refactoring is required
17 to allow non-builder packages to have components. Rename BinaryPackage to
18 ExternalPackage, add BuildableComponent and ExternalComponent classes. */
22 StaticLibrary(Builder &b, const Msp::FS::Path &p): FileTarget(b, p) { }
23 StaticLibrary(Builder &, const Component &, const std::vector<ObjectFile *> &);
25 static std::string generate_filename(const Component &);
28 const char *get_type() const override { return "StaticLibrary"; }
30 void add_required_library(const std::string &);
31 void add_library_path(const Msp::FS::Path &);
32 void collect_build_info(BuildInfo &) const override;