X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flib%2Fimportlibrary.cpp;fp=source%2Flib%2Fimportlibrary.cpp;h=435fb30e50218f9446b48b468791d69e90cc5a17;hb=c8e829c219c65ff8e93b6c7b66212ff0876441c5;hp=0000000000000000000000000000000000000000;hpb=e2c9c3fffcc61a0c102ccf6a7924e2de709092ad;p=builder.git diff --git a/source/lib/importlibrary.cpp b/source/lib/importlibrary.cpp new file mode 100644 index 0000000..435fb30 --- /dev/null +++ b/source/lib/importlibrary.cpp @@ -0,0 +1,35 @@ +#include +#include "architecture.h" +#include "builder.h" +#include "component.h" +#include "exportdefinitions.h" +#include "importlibrary.h" +#include "sharedlibrary.h" +#include "sourcepackage.h" + +using namespace std; +using namespace Msp; + +ImportLibrary::ImportLibrary(Builder &b, const Component &c, SharedLibrary &sl, ExportDefinitions &exp): + FileTarget(b, c.get_package(), c.get_package().get_output_directory()/generate_filename(c, sl)), + shared_lib(&sl) +{ + component = &c; + add_dependency(exp); + shared_lib->set_import_library(this); + + install_location = "lib"; + + const string &version = component->get_package().get_interface_version(); + if(!version.empty()) + { + const Architecture &arch = builder.get_current_arch(); + install_filename = arch.create_filename(format("%s-%s", sl.get_libname(), version)); + } +} + +string ImportLibrary::generate_filename(const Component &comp, const SharedLibrary &sl) +{ + const Architecture &arch = comp.get_package().get_builder().get_current_arch(); + return arch.create_filename(sl.get_libname()); +}