diff options
author | Miodrag Milanovic <mmicko@gmail.com> | 2018-08-06 19:32:17 +0200 |
---|---|---|
committer | Miodrag Milanovic <mmicko@gmail.com> | 2018-08-06 19:32:17 +0200 |
commit | fffaaa613f498cb83f8d885e5a8b75dc41a9c157 (patch) | |
tree | 325deb17a71813a6316b5ecec253a4e3155d4733 /common/command.cc | |
parent | 9510c444c93fdb8923d77651562fb698e59dea5f (diff) | |
download | nextpnr-fffaaa613f498cb83f8d885e5a8b75dc41a9c157.tar.gz nextpnr-fffaaa613f498cb83f8d885e5a8b75dc41a9c157.tar.bz2 nextpnr-fffaaa613f498cb83f8d885e5a8b75dc41a9c157.zip |
Added project loader
Diffstat (limited to 'common/command.cc')
-rw-r--r-- | common/command.cc | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/common/command.cc b/common/command.cc index f144db37..9eace237 100644 --- a/common/command.cc +++ b/common/command.cc @@ -187,7 +187,9 @@ int CommandHandler::executeMain(std::unique_ptr<Context> ctx) log_error("Loading design failed.\n"); customAfterLoad(ctx.get()); + } + if (vm.count("json") || vm.count("load")) { if (!ctx->pack() && !ctx->force) log_error("Packing design failed.\n"); ctx->check(); @@ -215,6 +217,11 @@ int CommandHandler::executeMain(std::unique_ptr<Context> ctx) deinit_python(); } #endif + + if (vm.count("save")) { + project.save(ctx.get(), vm["save"].as<std::string>()); + } + return 0; } @@ -235,7 +242,13 @@ int CommandHandler::exec() if (executeBeforeContext()) return 0; - std::unique_ptr<Context> ctx = createContext(); + + std::unique_ptr<Context> ctx; + if (vm.count("load")) { + ctx = project.load(vm["load"].as<std::string>()); + } else { + ctx = createContext(); + } setupContext(ctx.get()); setupArchContext(ctx.get()); return executeMain(std::move(ctx)); |