diff --git a/src/openscad.cc b/src/openscad.cc index 3fddd5eb..d53cdb43 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 &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 de1ff983..ba4a2236 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 2aef85b4..52172b6f 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, diff --git a/tests/cgalcachetest.cc b/tests/cgalcachetest.cc index 598879c9..67d33135 100644 --- a/tests/cgalcachetest.cc +++ b/tests/cgalcachetest.cc @@ -126,7 +126,7 @@ int main(int argc, char **argv) currentdir = boosty::stringy(fs::current_path()); - parser_init(boosty::stringy(fs::path(argv[0]).branch_path()), false); + parser_init(boosty::stringy(fs::path(argv[0]).branch_path())); add_librarydir(boosty::stringy(fs::path(argv[0]).branch_path() / "../libraries")); ModuleContext top_ctx; diff --git a/tests/csgtexttest.cc b/tests/csgtexttest.cc index 0be31231..97902f60 100644 --- a/tests/csgtexttest.cc +++ b/tests/csgtexttest.cc @@ -77,7 +77,7 @@ int main(int argc, char **argv) currentdir = boosty::stringy( fs::current_path() ); - parser_init(boosty::stringy(fs::path(argv[0]).branch_path()), false); + parser_init(boosty::stringy(fs::path(argv[0]).branch_path())); add_librarydir(boosty::stringy(fs::path(argv[0]).branch_path() / "../libraries")); ModuleContext top_ctx; diff --git a/tests/modulecachetest.cc b/tests/modulecachetest.cc index 423cffc5..5531461c 100644 --- a/tests/modulecachetest.cc +++ b/tests/modulecachetest.cc @@ -73,7 +73,7 @@ int main(int argc, char **argv) currentdir = boosty::stringy( fs::current_path() ); - parser_init(boosty::stringy(fs::path(argv[0]).branch_path()), false); + parser_init(boosty::stringy(fs::path(argv[0]).branch_path())); add_librarydir(boosty::stringy(fs::path(argv[0]).branch_path() / "../libraries")); ModuleContext top_ctx;