aboutsummaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2016-08-05 15:03:14 +0200
committerTrygve Laugstøl <trygvis@inamo.no>2016-08-05 15:03:14 +0200
commit535d856a39b177642724bcfe6009985bf4262dbd (patch)
tree4162702b31cff209a859ad22de426c7b83d38830 /cli
parentff87ea9045a6e0979311ae7b25055d6b53b0a13d (diff)
downloadkicad-utils-535d856a39b177642724bcfe6009985bf4262dbd.tar.gz
kicad-utils-535d856a39b177642724bcfe6009985bf4262dbd.tar.bz2
kicad-utils-535d856a39b177642724bcfe6009985bf4262dbd.tar.xz
kicad-utils-535d856a39b177642724bcfe6009985bf4262dbd.zip
o More flexible parsing. More rules needs to be updated.
Diffstat (limited to 'cli')
-rw-r--r--cli/CMakeLists.txt4
-rw-r--r--cli/generate-header.cpp21
2 files changed, 13 insertions, 12 deletions
diff --git a/cli/CMakeLists.txt b/cli/CMakeLists.txt
index f3dd326..6cad70c 100644
--- a/cli/CMakeLists.txt
+++ b/cli/CMakeLists.txt
@@ -15,8 +15,8 @@ install(TARGETS generate-header
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib)
-install(DIRECTORY ../template/
- DESTINATION share/kicad-utils/template
+install(DIRECTORY ../templates/
+ DESTINATION share/kicad-utils/templates
FILES_MATCHING PATTERN *.py
PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
diff --git a/cli/generate-header.cpp b/cli/generate-header.cpp
index 6fd64c6..9d5a4f4 100644
--- a/cli/generate-header.cpp
+++ b/cli/generate-header.cpp
@@ -21,15 +21,15 @@ namespace py = pybind11;
#include <cstring>
#include <experimental/filesystem>
+using namespace std;
+namespace fs = std::experimental::filesystem;
+
#ifdef _WIN32
-static const char PATH_SEPARATOR = ';';
+static string PATH_SEPARATOR(";");
#else
-static const char PATH_SEPARATOR = ':';
+static string PATH_SEPARATOR(":");
#endif
-using namespace std;
-namespace fs = std::experimental::filesystem;
-
char *program;
__attribute__((noreturn))
@@ -118,9 +118,9 @@ opt<fs::path> find_py_template(const string &py_template, const vector<fs::path>
bool generate(const string &ref, nl *const netlist, stringstream &out, const fs::path &py_template) {
py::dict vars;
- pybind11::module kicad_utils_py_module = py::module::import("kicad_utils_py");
- pybind11::module main_module = py::module::import("__main__");
- vars = main_module.attr("__dict__");
+ py::module::import("kicad_utils_py");
+ vars = py::module::import("__main__").
+ attr("__dict__");
pybind11::object netlist_py = py::cast(netlist);
@@ -128,7 +128,8 @@ bool generate(const string &ref, nl *const netlist, stringstream &out, const fs:
vars["ref"] = py::cast(ref);
string init;
- init += "generateHeader = GenerateHeader(ref, netlist)\n";
+ init += "import kicad_utils_py\n";
+ init += "generateHeader = kicad_utils_py.GenerateHeader(ref, netlist)\n";
init += "del ref\n";
init += "del netlist\n";
py::eval<py::eval_mode::eval_statements>(init, vars);
@@ -210,7 +211,7 @@ int main(int argc, char **argv) {
struct opts opts = parse_args(argc, argv);
opts.template_libs.push_back(fs::current_path());
- opts.template_libs.push_back(basedir / "share" / "kicad-utils" / "template");
+ opts.template_libs.push_back(basedir / "share" / "kicad-utils" / "templates");
kicad_net_loader loader;