X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flib%2Fcomponent.cpp;h=b98556c20476c1a92e0096bd9256a54f741c2c01;hb=1a4337301632aa31dbc028d1c4260b5ff3052570;hp=4fddcef79de59a9ca0ca6cf05e8a5b71ec565a79;hpb=c8e829c219c65ff8e93b6c7b66212ff0876441c5;p=builder.git diff --git a/source/lib/component.cpp b/source/lib/component.cpp index 4fddcef..b98556c 100644 --- a/source/lib/component.cpp +++ b/source/lib/component.cpp @@ -14,7 +14,13 @@ using namespace Msp; void Component::prepare() { for(Package *r: requires) + { r->prepare(); + broken |= r->is_broken(); + } + + if(!problems.empty()) + broken = true; } void Component::create_build_info() @@ -176,5 +182,8 @@ void Component::Loader::require(const string &n) void Component::Loader::source(const string &s) { - obj.sources.push_back((obj.package.get_source_directory()/s).str()); + FS::Path src_path = obj.package.get_source_directory()/s; + if(!FS::exists(src_path)) + throw IO::file_not_found(src_path.str()); + obj.sources.push_back(src_path); }