#include <msp/fs/stat.h>
#include <msp/fs/utils.h>
#include <msp/strings/format.h>
+#include <msp/strings/utils.h>
#include "builder.h"
#include "component.h"
#include "sourcepackage.h"
void Component::prepare()
{
for(Package *r: requires)
+ {
r->prepare();
+ broken |= r->is_broken();
+ }
+
+ if(!problems.empty())
+ broken = true;
}
void Component::create_build_info()
{
BuildInfo final_build_info;
+ final_build_info.defines[toupper(name)+"_BUILD"] = "1";
const Package::Requirements &pkg_reqs = package.get_required_packages();
Package::Requirements direct_reqs = requires;
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);
}