]> git.tdb.fi Git - builder.git/blobdiff - source/packagemanager.cpp
Feed paths to PackageManager from the outside
[builder.git] / source / packagemanager.cpp
index ac1851d73c2ac3573b8e91afa46e4e8d9b68bdcb..86047bfa76ae1140e462f54ac082a6149143880e 100644 (file)
@@ -20,10 +20,7 @@ PackageManager::PackageManager(Builder &b):
        builder(b),
        no_externals(false),
        env_set(false)
-{
-       pkg_path.push_back(builder.get_work_directory()/".");
-       pkg_path.push_back(builder.get_work_directory()/"..");
-}
+{ }
 
 PackageManager::~PackageManager()
 {
@@ -31,6 +28,11 @@ PackageManager::~PackageManager()
                delete i->second;
 }
 
+void PackageManager::append_package_path(const FS::Path &p)
+{
+       pkg_path.push_back(p);
+}
+
 void PackageManager::set_no_externals(bool x)
 {
        no_externals = x;
@@ -61,8 +63,9 @@ Package *PackageManager::find_package(const string &name)
        if(!no_externals)
        {
                FS::Path path = get_package_location(name);
-               if(!path.empty() && !builder.load_build_file(path/"Build"))
+               if(!path.empty())
                {
+                       builder.load_build_file(path/"Build");
                        i = packages.find(name);
                        if(i!=packages.end())
                                return i->second;