diff options
author | Miodrag Milanovic <mmicko@gmail.com> | 2019-06-13 20:42:11 +0200 |
---|---|---|
committer | Miodrag Milanovic <mmicko@gmail.com> | 2019-06-13 20:42:11 +0200 |
commit | 03dff10cbde4c55e4ac9b53a01ba84f4bdac169b (patch) | |
tree | 9777bd23e29585b8dbf10cfb64f41823c4c1f67c /common/command.cc | |
parent | 4de147d9e42d7c932773544011a36e4550530a9e (diff) | |
download | nextpnr-03dff10cbde4c55e4ac9b53a01ba84f4bdac169b.tar.gz nextpnr-03dff10cbde4c55e4ac9b53a01ba84f4bdac169b.tar.bz2 nextpnr-03dff10cbde4c55e4ac9b53a01ba84f4bdac169b.zip |
Load properties from json and propagate to context create
Diffstat (limited to 'common/command.cc')
-rw-r--r-- | common/command.cc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/common/command.cc b/common/command.cc index 4822585c..209f8cab 100644 --- a/common/command.cc +++ b/common/command.cc @@ -358,7 +358,14 @@ int CommandHandler::exec() if (executeBeforeContext()) return 0; - std::unique_ptr<Context> ctx = createContext(); + std::unordered_map<std::string,Property> values; + if (vm.count("json")) { + std::string filename = vm["json"].as<std::string>(); + std::ifstream f(filename); + if (!load_json_settings(f, filename, values)) + log_error("Loading design failed.\n"); + } + std::unique_ptr<Context> ctx = createContext(values); settings = std::unique_ptr<Settings>(new Settings(ctx.get())); setupContext(ctx.get()); setupArchContext(ctx.get()); |