Skip to content

Commit

Permalink
Extracted librarydir initialization to separate function
Browse files Browse the repository at this point in the history
  • Loading branch information
kintel committed Dec 24, 2011
1 parent dc4bc15 commit 0ab51d2
Show file tree
Hide file tree
Showing 16 changed files with 58 additions and 159 deletions.
6 changes: 4 additions & 2 deletions openscad.pro
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
Expand Down Expand Up @@ -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 \
Expand Down
2 changes: 1 addition & 1 deletion src/highlighter.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion src/lexer.l
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down
1 change: 1 addition & 0 deletions src/mainwin.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
21 changes: 2 additions & 19 deletions src/openscad.cc
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
#include "nodedumper.h"
#include "printutils.h"
#include "handle_dep.h"
#include "parsersettings.h"

#include <string>
#include <vector>
Expand Down Expand Up @@ -85,7 +86,6 @@ static void version()
std::string commandline_commands;
QString currentdir;
QString examplesdir;
QString librarydir;

using std::string;
using std::vector;
Expand Down Expand Up @@ -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;
Expand Down
2 changes: 0 additions & 2 deletions src/openscad.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,13 @@ 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
// doing this, use currentdir to get the original CWD.
extern QString currentdir;

extern QString examplesdir;
extern QString librarydir;

#endif

25 changes: 25 additions & 0 deletions src/parsersettings.cc
Original file line number Diff line number Diff line change
@@ -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();
}
}
11 changes: 11 additions & 0 deletions src/parsersettings.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#ifndef PARSERSETTINGS_H_
#define PARSERSETTINGS_H_

#include <QString>

extern QString librarydir;
extern int parser_error_pos;

void parser_init();

#endif
1 change: 1 addition & 0 deletions tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
20 changes: 0 additions & 20 deletions tests/cgalpngtest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@
std::string commandline_commands;
QString currentdir;
QString examplesdir;
QString librarydir;

using std::string;

Expand Down Expand Up @@ -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);

Expand Down
21 changes: 2 additions & 19 deletions tests/cgaltest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@

#include "tests-common.h"
#include "openscad.h"
#include "parsersettings.h"
#include "node.h"
#include "module.h"
#include "context.h"
Expand All @@ -52,7 +53,6 @@
std::string commandline_commands;
QString currentdir;
QString examplesdir;
QString librarydir;

using std::string;

Expand Down Expand Up @@ -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);
Expand Down
21 changes: 2 additions & 19 deletions tests/csgtermtest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -54,7 +55,6 @@ using std::cout;
std::string commandline_commands;
QString currentdir;
QString examplesdir;
QString librarydir;

int main(int argc, char **argv)
{
Expand All @@ -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);
Expand Down
21 changes: 2 additions & 19 deletions tests/csgtestcore.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -39,7 +40,6 @@ using std::cerr;
using std::cout;

std::string commandline_commands;
QString librarydir;

//#define DEBUG

Expand Down Expand Up @@ -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);
Expand Down
21 changes: 2 additions & 19 deletions tests/csgtexttest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -51,7 +52,6 @@
std::string commandline_commands;
QString currentdir;
QString examplesdir;
QString librarydir;

void csgTree(CSGTextCache &cache, const AbstractNode &root)
{
Expand Down Expand Up @@ -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);
Expand Down
21 changes: 2 additions & 19 deletions tests/dumptest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@

#include "tests-common.h"
#include "openscad.h"
#include "parsersettings.h"
#include "node.h"
#include "module.h"
#include "context.h"
Expand All @@ -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)
{
Expand Down Expand Up @@ -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);
Expand Down
Loading

0 comments on commit 0ab51d2

Please sign in to comment.