From e5006d4f2f767aab5c06d4e95151687a54902ad9 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Fri, 10 Aug 2018 19:11:30 +0200 Subject: Save settings and give nicer names to some --- common/project.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'common/project.cc') diff --git a/common/project.cc b/common/project.cc index 949f6878..8ee78c4a 100644 --- a/common/project.cc +++ b/common/project.cc @@ -18,6 +18,7 @@ */ #include "project.h" +#include #include #include #include @@ -64,11 +65,18 @@ void ProjectHandler::save(Context *ctx, std::string filename) root.put("project.name", boost::filesystem::basename(filename)); root.put("project.arch.name", ctx->archId().c_str(ctx)); root.put("project.arch.type", ctx->archArgsToId(ctx->archArgs()).c_str(ctx)); - std::string fn = ctx->settings[ctx->id("project/input/json")]; + std::string fn = ctx->settings[ctx->id("input/json")]; root.put("project.input.json", make_relative(fn, proj.parent_path()).string()); root.put("project.params.freq", int(ctx->target_freq / 1e6)); root.put("project.params.seed", ctx->rngstate); saveArch(ctx, root, proj.parent_path().string()); + for(auto const &item : ctx->settings) + { + std::string path = "project.settings."; + path += item.first.c_str(ctx); + std::replace(path.begin(), path.end(), '/', '.'); + root.put(path, item.second); + } pt::write_json(f, root); } catch (...) { log_error("Error saving project file.\n"); -- cgit v1.2.3