]> git.tdb.fi Git - builder.git/blobdiff - source/systemlibrary.cpp
Rework the Target class hierarchy
[builder.git] / source / systemlibrary.cpp
index 00cbddc5b67e5306161c4ddd8669a72e15bcddd7..2bfc04bb6f870e30cc6f890cff86ac1510d6058e 100644 (file)
@@ -1,13 +1,26 @@
-#include <msp/path/utils.h>
+/* $Id$
+
+This file is part of builder
+Copyright © 2006-2009  Mikko Rasa, Mikkosoft Productions
+Distributed under the LGPL
+*/
+
+#include <msp/fs/path.h>
+#include <msp/fs/utils.h>
 #include "systemlibrary.h"
 
 using namespace std;
 using namespace Msp;
 
-SystemLibrary::SystemLibrary(Builder &b, const string &n):
-       Target(b, 0, n)
+SystemLibrary::SystemLibrary(Builder &b, const Msp::FS::Path &p):
+       FileTarget(b, 0, p),
+       Library(b, 0, p, extract_libname(p))
+{ }
+
+string SystemLibrary::extract_libname(const Msp::FS::Path &p)
 {
-       libname=Path::splitext(Path::basename(n)).base;
-       if(!libname.compare(0, 3, "lib"))
-               libname.erase(0, 3);
+       string result=FS::basepart(FS::basename(p));
+       if(!result.compare(0, 3, "lib"))
+               result.erase(0, 3);
+       return result;
 }