diff options
author | Marius Kintel <marius@kintel.net> | 2014-01-07 20:44:28 (GMT) |
---|---|---|
committer | Marius Kintel <marius@kintel.net> | 2014-01-07 20:44:28 (GMT) |
commit | 20938506b6eb7bb9ee6d211df8b067c9fead47d4 (patch) | |
tree | 01b7f8715d56b4b12e1bc6cc55d2affa116f2ef0 /src | |
parent | f7a633c57fe71228518f4429acd6bf0751706918 (diff) |
Mac fix: We need to use bundled resources when running bundled apps in cmd-line node
Diffstat (limited to 'src')
-rw-r--r-- | src/openscad.cc | 4 | ||||
-rw-r--r-- | src/parsersettings.cc | 5 | ||||
-rw-r--r-- | src/parsersettings.h | 2 |
3 files changed, 6 insertions, 5 deletions
diff --git a/src/openscad.cc b/src/openscad.cc index 3fddd5e..d53cdb4 100644 --- a/src/openscad.cc +++ b/src/openscad.cc @@ -206,7 +206,7 @@ int cmdline(const char *deps_output_file, const std::string &filename, Camera &c #else const std::string application_path = boosty::stringy(boosty::absolute(boost::filesystem::path(argv[0]).parent_path())); #endif - parser_init(application_path, false); + parser_init(application_path); Tree tree; #ifdef ENABLE_CGAL CGALEvaluator cgalevaluator(tree); @@ -516,7 +516,7 @@ int gui(vector<string> &inputFiles, const fs::path &original_path, int argc, cha qexamplesdir = exdir.path(); } MainWindow::setExamplesDir(qexamplesdir); - parser_init(app_path.toLocal8Bit().constData(), true); + parser_init(app_path.toLocal8Bit().constData()); #ifdef Q_WS_MAC installAppleEventHandlers(); diff --git a/src/parsersettings.cc b/src/parsersettings.cc index de1ff98..ba4a223 100644 --- a/src/parsersettings.cc +++ b/src/parsersettings.cc @@ -88,7 +88,7 @@ fs::path find_valid_path(const fs::path &sourcepath, return fs::path(); } -void parser_init(const std::string &applicationpath, bool isgui) +void parser_init(const std::string &applicationpath) { // Add paths from OPENSCADPATH before adding built-in paths const char *openscadpaths = getenv("OPENSCADPATH"); @@ -117,7 +117,8 @@ void parser_init(const std::string &applicationpath, bool isgui) fs::path tmpdir; #ifdef __APPLE__ // Libraries can be bundled on Mac. If not, fall back to development layout - if (isgui) { + bool isbundle = is_directory(libdir / ".." / "Resources"); + if (isbundle) { libdir /= "../Resources"; if (!is_directory(libdir / "libraries")) libdir /= "../../.."; } diff --git a/src/parsersettings.h b/src/parsersettings.h index 2aef85b..52172b6 100644 --- a/src/parsersettings.h +++ b/src/parsersettings.h @@ -6,7 +6,7 @@ extern int parser_error_pos; -void parser_init(const std::string &applicationpath, bool isgui); +void parser_init(const std::string &applicationpath); void add_librarydir(const std::string &libdir); fs::path search_libs(const fs::path &localpath); fs::path find_valid_path(const fs::path &sourcepath, |