diff options
-rw-r--r-- | openscad.pro | 6 | ||||
-rw-r--r-- | src/highlighter.cc | 2 | ||||
-rw-r--r-- | src/lexer.l | 2 | ||||
-rw-r--r-- | src/mainwin.cc | 1 | ||||
-rw-r--r-- | src/openscad.cc | 21 | ||||
-rw-r--r-- | src/openscad.h | 2 | ||||
-rw-r--r-- | src/parsersettings.cc | 25 | ||||
-rw-r--r-- | src/parsersettings.h | 11 | ||||
-rw-r--r-- | tests/CMakeLists.txt | 1 | ||||
-rw-r--r-- | tests/cgalpngtest.cc | 20 | ||||
-rw-r--r-- | tests/cgaltest.cc | 21 | ||||
-rw-r--r-- | tests/csgtermtest.cc | 21 | ||||
-rw-r--r-- | tests/csgtestcore.cc | 21 | ||||
-rw-r--r-- | tests/csgtexttest.cc | 21 | ||||
-rw-r--r-- | tests/dumptest.cc | 21 | ||||
-rw-r--r-- | tests/echotest.cc | 21 |
16 files changed, 58 insertions, 159 deletions
diff --git a/openscad.pro b/openscad.pro index 50a419d..80e2b80 100644 --- a/openscad.pro +++ b/openscad.pro @@ -134,7 +134,8 @@ FORMS += src/MainWindow.ui \ src/Preferences.ui \ src/OpenCSGWarningDialog.ui -HEADERS += src/renderer.h \ +HEADERS += src/parsersettings.h \ + src/renderer.h \ src/rendersettings.h \ src/ThrownTogetherRenderer.h \ src/CGAL_renderer.h \ @@ -187,7 +188,8 @@ HEADERS += src/renderer.h \ src/system-gl.h \ src/stl-utils.h -SOURCES += src/openscad.cc \ +SOURCES += src/parsersettings.cc \ + src/openscad.cc \ src/mainwin.cc \ src/handle_dep.cc \ src/renderer.cc \ diff --git a/src/highlighter.cc b/src/highlighter.cc index 759826c..64ea980 100644 --- a/src/highlighter.cc +++ b/src/highlighter.cc @@ -25,7 +25,7 @@ */ #include "highlighter.h" -#include "openscad.h" // extern int parser_error_pos; +#include "parsersettings.h" // extern int parser_error_pos; #ifdef _QCODE_EDIT_ Highlighter::Highlighter(QDocument *parent) diff --git a/src/lexer.l b/src/lexer.l index c799028..2102642 100644 --- a/src/lexer.l +++ b/src/lexer.l @@ -27,8 +27,8 @@ %{ #include "handle_dep.h" -#include "openscad.h" // librarydir #include "printutils.h" +#include "parsersettings.h" #include "parser_yacc.h" #include <QStack> #include <QFileInfo> diff --git a/src/mainwin.cc b/src/mainwin.cc index 3243847..6ef7777 100644 --- a/src/mainwin.cc +++ b/src/mainwin.cc @@ -27,6 +27,7 @@ #include "PolySetCache.h" #include "MainWindow.h" #include "openscad.h" // examplesdir +#include "parsersettings.h" #include "Preferences.h" #include "printutils.h" #include "node.h" diff --git a/src/openscad.cc b/src/openscad.cc index 0d5b25e..8b81f48 100644 --- a/src/openscad.cc +++ b/src/openscad.cc @@ -35,6 +35,7 @@ #include "nodedumper.h" #include "printutils.h" #include "handle_dep.h" +#include "parsersettings.h" #include <string> #include <vector> @@ -85,7 +86,6 @@ static void version() std::string commandline_commands; QString currentdir; QString examplesdir; -QString librarydir; using std::string; using std::vector; @@ -221,24 +221,7 @@ int main(int argc, char **argv) examplesdir = exdir.path(); } - QDir libdir(QApplication::instance()->applicationDirPath()); -#ifdef Q_WS_MAC - libdir.cd("../Resources"); // Libraries can be bundled - if (!libdir.exists("libraries")) libdir.cd("../../.."); -#elif defined(Q_OS_UNIX) - if (libdir.cd("../share/openscad/libraries")) { - librarydir = libdir.path(); - } else - if (libdir.cd("../../share/openscad/libraries")) { - librarydir = libdir.path(); - } else - if (libdir.cd("../../libraries")) { - librarydir = libdir.path(); - } else -#endif - if (libdir.cd("libraries")) { - librarydir = libdir.path(); - } + parser_init(); // Initialize global visitors NodeCache nodecache; diff --git a/src/openscad.h b/src/openscad.h index 61aec0e..23ae4da 100644 --- a/src/openscad.h +++ b/src/openscad.h @@ -32,7 +32,6 @@ extern int get_fragments_from_r(double r, double fn, double fs, double fa); #include <string> extern std::string commandline_commands; -extern int parser_error_pos; #include <QString> // The CWD when application started. We shouldn't change CWD, but until we stop @@ -40,7 +39,6 @@ extern int parser_error_pos; extern QString currentdir; extern QString examplesdir; -extern QString librarydir; #endif diff --git a/src/parsersettings.cc b/src/parsersettings.cc new file mode 100644 index 0000000..bdd5eeb --- /dev/null +++ b/src/parsersettings.cc @@ -0,0 +1,25 @@ +#include "parsersettings.h" +#include <QApplication> +#include <QDir> + +QString librarydir; + +void parser_init() +{ + QDir libdir(QApplication::instance()->applicationDirPath()); +#ifdef Q_WS_MAC + libdir.cd("../Resources"); // Libraries can be bundled + if (!libdir.exists("libraries")) libdir.cd("../../.."); +#elif defined(Q_OS_UNIX) + if (libdir.cd("../share/openscad/libraries")) { + librarydir = libdir.path(); + } else if (libdir.cd("../../share/openscad/libraries")) { + librarydir = libdir.path(); + } else if (libdir.cd("../../libraries")) { + librarydir = libdir.path(); + } else +#endif + if (libdir.cd("libraries")) { + librarydir = libdir.path(); + } +} diff --git a/src/parsersettings.h b/src/parsersettings.h new file mode 100644 index 0000000..7089df9 --- /dev/null +++ b/src/parsersettings.h @@ -0,0 +1,11 @@ +#ifndef PARSERSETTINGS_H_ +#define PARSERSETTINGS_H_ + +#include <QString> + +extern QString librarydir; +extern int parser_error_pos; + +void parser_init(); + +#endif diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index c6db700..dd4e6a8 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -243,6 +243,7 @@ add_definitions(-DOPENSCAD_TESTING) set(CORE_SOURCES tests-common.cc + ../src/parsersettings.cc ../src/mathc99.cc ../src/linalg.cc ../src/handle_dep.cc diff --git a/tests/cgalpngtest.cc b/tests/cgalpngtest.cc index 800a829..59f0d53 100644 --- a/tests/cgalpngtest.cc +++ b/tests/cgalpngtest.cc @@ -57,7 +57,6 @@ std::string commandline_commands; QString currentdir; QString examplesdir; -QString librarydir; using std::string; @@ -111,25 +110,6 @@ int main(int argc, char **argv) currentdir = QDir::currentPath(); - QDir libdir(QApplication::instance()->applicationDirPath()); -#ifdef Q_WS_MAC - libdir.cd("../Resources"); // Libraries can be bundled - if (!libdir.exists("libraries")) libdir.cd("../../.."); -#elif defined(Q_OS_UNIX) - if (libdir.cd("../share/openscad/libraries")) { - librarydir = libdir.path(); - } else - if (libdir.cd("../../share/openscad/libraries")) { - librarydir = libdir.path(); - } else - if (libdir.cd("../../libraries")) { - librarydir = libdir.path(); - } else -#endif - if (libdir.cd("libraries")) { - librarydir = libdir.path(); - } - Context root_ctx; register_builtin(root_ctx); diff --git a/tests/cgaltest.cc b/tests/cgaltest.cc index 055e970..6412338 100644 --- a/tests/cgaltest.cc +++ b/tests/cgaltest.cc @@ -26,6 +26,7 @@ #include "tests-common.h" #include "openscad.h" +#include "parsersettings.h" #include "node.h" #include "module.h" #include "context.h" @@ -52,7 +53,6 @@ std::string commandline_commands; QString currentdir; QString examplesdir; -QString librarydir; using std::string; @@ -90,24 +90,7 @@ int main(int argc, char **argv) currentdir = QDir::currentPath(); - QDir libdir(QApplication::instance()->applicationDirPath()); -#ifdef Q_WS_MAC - libdir.cd("../Resources"); // Libraries can be bundled - if (!libdir.exists("libraries")) libdir.cd("../../.."); -#elif defined(Q_OS_UNIX) - if (libdir.cd("../share/openscad/libraries")) { - librarydir = libdir.path(); - } else - if (libdir.cd("../../share/openscad/libraries")) { - librarydir = libdir.path(); - } else - if (libdir.cd("../../libraries")) { - librarydir = libdir.path(); - } else -#endif - if (libdir.cd("libraries")) { - librarydir = libdir.path(); - } + parser_init(); Context root_ctx; register_builtin(root_ctx); diff --git a/tests/csgtermtest.cc b/tests/csgtermtest.cc index aabbc05..52e55c4 100644 --- a/tests/csgtermtest.cc +++ b/tests/csgtermtest.cc @@ -28,6 +28,7 @@ #include "PolySetEvaluator.h" #include "CSGTermEvaluator.h" #include "openscad.h" +#include "parsersettings.h" #include "node.h" #include "module.h" #include "context.h" @@ -54,7 +55,6 @@ using std::cout; std::string commandline_commands; QString currentdir; QString examplesdir; -QString librarydir; int main(int argc, char **argv) { @@ -75,24 +75,7 @@ int main(int argc, char **argv) currentdir = QDir::currentPath(); - QDir libdir(QApplication::instance()->applicationDirPath()); -#ifdef Q_WS_MAC - libdir.cd("../Resources"); // Libraries can be bundled - if (!libdir.exists("libraries")) libdir.cd("../../.."); -#elif defined(Q_OS_UNIX) - if (libdir.cd("../share/openscad/libraries")) { - librarydir = libdir.path(); - } else - if (libdir.cd("../../share/openscad/libraries")) { - librarydir = libdir.path(); - } else - if (libdir.cd("../../libraries")) { - librarydir = libdir.path(); - } else -#endif - if (libdir.cd("libraries")) { - librarydir = libdir.path(); - } + parser_init(); Context root_ctx; register_builtin(root_ctx); diff --git a/tests/csgtestcore.cc b/tests/csgtestcore.cc index c2be326..7ad0a35 100644 --- a/tests/csgtestcore.cc +++ b/tests/csgtestcore.cc @@ -4,6 +4,7 @@ #include "tests-common.h" #include "system-gl.h" #include "openscad.h" +#include "parsersettings.h" #include "builtin.h" #include "context.h" #include "node.h" @@ -39,7 +40,6 @@ using std::cerr; using std::cout; std::string commandline_commands; -QString librarydir; //#define DEBUG @@ -255,24 +255,7 @@ int csgtestcore(int argc, char *argv[], test_type_e test_type) QString currentdir = QDir::currentPath(); - QDir libdir(QApplication::instance()->applicationDirPath()); -#ifdef Q_WS_MAC - libdir.cd("../Resources"); // Libraries can be bundled - if (!libdir.exists("libraries")) libdir.cd("../../.."); -#elif defined(Q_OS_UNIX) - if (libdir.cd("../share/openscad/libraries")) { - librarydir = libdir.path(); - } else - if (libdir.cd("../../share/openscad/libraries")) { - librarydir = libdir.path(); - } else - if (libdir.cd("../../libraries")) { - librarydir = libdir.path(); - } else -#endif - if (libdir.cd("libraries")) { - librarydir = libdir.path(); - } + parser_init(); Context root_ctx; register_builtin(root_ctx); diff --git a/tests/csgtexttest.cc b/tests/csgtexttest.cc index d7f94f1..2c54ed4 100644 --- a/tests/csgtexttest.cc +++ b/tests/csgtexttest.cc @@ -28,6 +28,7 @@ #include "CSGTextRenderer.h" #include "CSGTextCache.h" #include "openscad.h" +#include "parsersettings.h" #include "node.h" #include "module.h" #include "context.h" @@ -51,7 +52,6 @@ std::string commandline_commands; QString currentdir; QString examplesdir; -QString librarydir; void csgTree(CSGTextCache &cache, const AbstractNode &root) { @@ -79,24 +79,7 @@ int main(int argc, char **argv) currentdir = QDir::currentPath(); - QDir libdir(QApplication::instance()->applicationDirPath()); -#ifdef Q_WS_MAC - libdir.cd("../Resources"); // Libraries can be bundled - if (!libdir.exists("libraries")) libdir.cd("../../.."); -#elif defined(Q_OS_UNIX) - if (libdir.cd("../share/openscad/libraries")) { - librarydir = libdir.path(); - } else - if (libdir.cd("../../share/openscad/libraries")) { - librarydir = libdir.path(); - } else - if (libdir.cd("../../libraries")) { - librarydir = libdir.path(); - } else -#endif - if (libdir.cd("libraries")) { - librarydir = libdir.path(); - } + parser_init(); Context root_ctx; register_builtin(root_ctx); diff --git a/tests/dumptest.cc b/tests/dumptest.cc index 22dd96c..4b1d907 100644 --- a/tests/dumptest.cc +++ b/tests/dumptest.cc @@ -26,6 +26,7 @@ #include "tests-common.h" #include "openscad.h" +#include "parsersettings.h" #include "node.h" #include "module.h" #include "context.h" @@ -51,7 +52,6 @@ using std::string; std::string commandline_commands; QString currentdir; QString examplesdir; -QString librarydir; string dumptree(const Tree &tree, const AbstractNode &node) { @@ -86,24 +86,7 @@ int main(int argc, char **argv) currentdir = QDir::currentPath(); - QDir libdir(QApplication::instance()->applicationDirPath()); -#ifdef Q_WS_MAC - libdir.cd("../Resources"); // Libraries can be bundled - if (!libdir.exists("libraries")) libdir.cd("../../.."); -#elif defined(Q_OS_UNIX) - if (libdir.cd("../share/openscad/libraries")) { - librarydir = libdir.path(); - } else - if (libdir.cd("../../share/openscad/libraries")) { - librarydir = libdir.path(); - } else - if (libdir.cd("../../libraries")) { - librarydir = libdir.path(); - } else -#endif - if (libdir.cd("libraries")) { - librarydir = libdir.path(); - } + parser_init(); Context root_ctx; register_builtin(root_ctx); diff --git a/tests/echotest.cc b/tests/echotest.cc index afa3d03..9569f09 100644 --- a/tests/echotest.cc +++ b/tests/echotest.cc @@ -26,6 +26,7 @@ #include "tests-common.h" #include "openscad.h" +#include "parsersettings.h" #include "node.h" #include "module.h" #include "context.h" @@ -50,7 +51,6 @@ using std::string; std::string commandline_commands; QString currentdir; QString examplesdir; -QString librarydir; static void outfile_handler(const std::string &msg, void *userdata) { std::ostream *str = static_cast<std::ostream*>(userdata); @@ -87,24 +87,7 @@ int main(int argc, char **argv) currentdir = QDir::currentPath(); - QDir libdir(QApplication::instance()->applicationDirPath()); -#ifdef Q_WS_MAC - libdir.cd("../Resources"); // Libraries can be bundled - if (!libdir.exists("libraries")) libdir.cd("../../.."); -#elif defined(Q_OS_UNIX) - if (libdir.cd("../share/openscad/libraries")) { - librarydir = libdir.path(); - } else - if (libdir.cd("../../share/openscad/libraries")) { - librarydir = libdir.path(); - } else - if (libdir.cd("../../libraries")) { - librarydir = libdir.path(); - } else -#endif - if (libdir.cd("libraries")) { - librarydir = libdir.path(); - } + parser_init(); Context root_ctx; register_builtin(root_ctx); |