]> git.tdb.fi Git - builder.git/blobdiff - source/importlibrary.cpp
Account for install directories when forming displaced dependency paths
[builder.git] / source / importlibrary.cpp
index 60e5511b96ff08ebb4be74aa0fa5e39182f2eddd..1e6650fdac1ee648ebae4fbf642ef2cf498a1c6e 100644 (file)
@@ -1,8 +1,29 @@
 #include <msp/strings/format.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 FS::Path &p):
-       FileTarget(b, p)
+       FileTarget(b, p),
+       shared_lib(0)
 { }
+
+ImportLibrary::ImportLibrary(Builder &b, const Component &c, SharedLibrary &sl, ExportDefinitions &exp):
+       FileTarget(b, c.get_package(), c.get_package().get_output_directory()/format("lib%s.dll.a", sl.get_libname())),
+       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())
+               install_filename = format("lib%s-%s.dll.a", sl.get_libname(), version);
+}