#include <msp/io/print.h>
#include <msp/strings/lexicalcast.h>
#include <msp/strings/utils.h>
-#include "android/androidapplicationcomponent.h"
#include "binarycomponent.h"
#include "binarypackage.h"
#include "builder.h"
-#include "datafile/datapackcomponent.h"
#include "file.h"
#include "installcomponent.h"
#include "plugin.h"
return source_dir/arch.get_name();
}
+FS::Path SourcePackage::get_staging_directory() const
+{
+ return get_temp_directory()/"staging";
+}
+
const Component &SourcePackage::get_component(const string &n) const
{
auto i = find_if(components, [&n](const Component *c){ return c->get_name()==n; });
final_build_info.update_from(build_info);
build_info = final_build_info;
- build_info.incpath.push_back((builder.get_prefix()/"include").str());
- build_info.libpath.push_back((builder.get_prefix()/"lib").str());
+ build_info.incpath.push_back(get_staging_directory()/"include");
+ build_info.incpath.push_back(builder.get_prefix()/"include");
+ build_info.libpath.push_back(builder.get_prefix()/"lib");
for(const Feature &f: features)
{
FeatureConditional(p, p.name),
options(o)
{
- add("android_application", &Loader::component<AndroidApplicationComponent>);
add("build_info", &Loader::build_info);
- add("datapack", &Loader::component<DataPackComponent>);
add("description", &SourcePackage::description);
+ add("export", &Loader::exported);
add("feature", &Loader::feature);
add("generate", &Loader::generate);
add("install", &Loader::component<InstallComponent>);
}
}
+void SourcePackage::Loader::exported()
+{
+ ExportLoader ldr(obj);
+ load_sub_with(ldr);
+}
+
void SourcePackage::Loader::feature(const string &n, const string &d)
{
Feature feat(n);
break;
obj.interface_version = obj.version.substr(0, i);
}
+
+
+SourcePackage::ExportLoader::ExportLoader(SourcePackage &p):
+ ObjectLoader<SourcePackage>(p)
+{
+ add("build_info", &ExportLoader::build_info);
+}
+
+void SourcePackage::ExportLoader::build_info()
+{
+ BuildInfo bi;
+ load_sub(bi);
+ obj.build_info.update_from(bi);
+ obj.export_binfo.update_from(bi);
+}