summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2012-02-02 21:50:51 (GMT)
committerMarius Kintel <marius@kintel.net>2012-02-02 21:50:51 (GMT)
commit2def247b1b1307c1b236d22bbdc33d8bb9c102e3 (patch)
tree8f7514513f8bef84cc2076c1e4fb259545ddef70
parent5056de8d1ce8bd6247604ff6523cc4894ec7de4e (diff)
Minor refactor: use set/get_librarydir() to access global variable
-rw-r--r--src/lexer.l8
-rw-r--r--src/parsersettings.cc13
-rw-r--r--src/parsersettings.h3
-rw-r--r--tests/CMakeLists.txt1
-rw-r--r--tests/cgalcachetest.cc1
-rw-r--r--tests/cgalpngtest.cc1
-rw-r--r--tests/cgalstlsanitytest.cc1
-rw-r--r--tests/cgaltest.cc1
-rw-r--r--tests/csgtermtest.cc1
-rw-r--r--tests/csgtestcore.cc1
-rw-r--r--tests/csgtexttest.cc1
-rw-r--r--tests/dumptest.cc1
-rw-r--r--tests/echotest.cc1
13 files changed, 29 insertions, 5 deletions
diff --git a/src/lexer.l b/src/lexer.l
index 7f6586a..4e51e14 100644
--- a/src/lexer.l
+++ b/src/lexer.l
@@ -110,13 +110,13 @@ use[ \t\r\n>]*"<" { BEGIN(cond_use); }
">" {
BEGIN(INITIAL);
fs::path usepath;
- if ( boosty::is_absolute( fs::path(filename) ) ) {
+ if (boosty::is_absolute(fs::path(filename))) {
usepath = filename;
}
else {
usepath = fs::path(parser_source_path) / filename;
if (!fs::exists(usepath)) {
- usepath = boosty::absolute(fs::path(librarydir) / filename);
+ usepath = boosty::absolute(fs::path(get_librarydir()) / filename);
}
}
handle_dep(usepath.string());
@@ -199,7 +199,7 @@ void includefile()
fs::path dirinfo = sourcepath();
if (!filepath.empty()) {
- if (boosty::is_absolute( fs::path(filepath) ) ) {
+ if (boosty::is_absolute(fs::path(filepath))) {
dirinfo = filepath;
}
else {
@@ -209,7 +209,7 @@ void includefile()
fs::path finfo = dirinfo / filename;
if (!exists(finfo)) {
- finfo = fs::path(librarydir) / filepath / filename;
+ finfo = fs::path(get_librarydir()) / filepath / filename;
}
filepath.clear();
diff --git a/src/parsersettings.cc b/src/parsersettings.cc
index 330e2e2..a3a02b7 100644
--- a/src/parsersettings.cc
+++ b/src/parsersettings.cc
@@ -1,13 +1,25 @@
#include "parsersettings.h"
#include <boost/filesystem.hpp>
+#include <qglobal.h> // Needed for Q_ defines - move the offending code somewhere else
using namespace boost::filesystem;
#include "boosty.h"
std::string librarydir;
+void set_librarydir(const std::string &libdir)
+{
+ librarydir = libdir;
+}
+
+const std::string &get_librarydir()
+{
+ return librarydir;
+}
+
void parser_init(const std::string &applicationpath)
{
+ std::string librarydir;
path libdir(applicationpath);
path tmpdir;
#ifdef Q_WS_MAC
@@ -25,4 +37,5 @@ void parser_init(const std::string &applicationpath)
if (is_directory(tmpdir = libdir / "libraries")) {
librarydir = boosty::stringy( tmpdir );
}
+ set_librarydir(librarydir);
}
diff --git a/src/parsersettings.h b/src/parsersettings.h
index 61dcf99..a5dc939 100644
--- a/src/parsersettings.h
+++ b/src/parsersettings.h
@@ -3,9 +3,10 @@
#include <string>
-extern std::string librarydir;
extern int parser_error_pos;
void parser_init(const std::string &applicationpath);
+void set_librarydir(const std::string &libdir);
+const std::string &get_librarydir();
#endif
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 665bd92..b81ce8c 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -133,6 +133,7 @@ foreach(boostlib ${Boost_LIBRARIES})
endforeach()
inclusion(BOOST_ROOT Boost_INCLUDE_DIRS)
+add_definitions(-DBOOST_FILESYSTEM_VERSION=3) # Use V3 for boost 1.44-1.45
# Mac OS X
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
diff --git a/tests/cgalcachetest.cc b/tests/cgalcachetest.cc
index 0578e46..5675ef5 100644
--- a/tests/cgalcachetest.cc
+++ b/tests/cgalcachetest.cc
@@ -139,6 +139,7 @@ int main(int argc, char **argv)
currentdir = boosty::stringy( fs::current_path() );
parser_init(QCoreApplication::instance()->applicationDirPath().toStdString());
+ set_librarydir(boosty::stringy(fs::path(QCoreApplication::instance()->applicationDirPath().toStdString()) / "../libraries"));
Context root_ctx;
register_builtin(root_ctx);
diff --git a/tests/cgalpngtest.cc b/tests/cgalpngtest.cc
index 8595e48..650c6d7 100644
--- a/tests/cgalpngtest.cc
+++ b/tests/cgalpngtest.cc
@@ -112,6 +112,7 @@ int main(int argc, char **argv)
currentdir = boosty::stringy( fs::current_path() );
parser_init(QCoreApplication::instance()->applicationDirPath().toStdString());
+ set_librarydir(boosty::stringy(fs::path(QCoreApplication::instance()->applicationDirPath().toStdString()) / "../libraries"));
Context root_ctx;
register_builtin(root_ctx);
diff --git a/tests/cgalstlsanitytest.cc b/tests/cgalstlsanitytest.cc
index af59f0c..0bf7ac2 100644
--- a/tests/cgalstlsanitytest.cc
+++ b/tests/cgalstlsanitytest.cc
@@ -98,6 +98,7 @@ int main(int argc, char **argv)
currentdir = boosty::stringy( fs::current_path() );
parser_init(QCoreApplication::instance()->applicationDirPath().toStdString());
+ set_librarydir(boosty::stringy(fs::path(QCoreApplication::instance()->applicationDirPath().toStdString()) / "../libraries"));
Context root_ctx;
register_builtin(root_ctx);
diff --git a/tests/cgaltest.cc b/tests/cgaltest.cc
index 966c955..076983f 100644
--- a/tests/cgaltest.cc
+++ b/tests/cgaltest.cc
@@ -91,6 +91,7 @@ int main(int argc, char **argv)
currentdir = boosty::stringy( fs::current_path() );
parser_init(QCoreApplication::instance()->applicationDirPath().toStdString());
+ set_librarydir(boosty::stringy(fs::path(QCoreApplication::instance()->applicationDirPath().toStdString()) / "../libraries"));
Context root_ctx;
register_builtin(root_ctx);
diff --git a/tests/csgtermtest.cc b/tests/csgtermtest.cc
index 4e44f55..89a9bdc 100644
--- a/tests/csgtermtest.cc
+++ b/tests/csgtermtest.cc
@@ -77,6 +77,7 @@ int main(int argc, char **argv)
currentdir = boosty::stringy( fs::current_path() );
parser_init(QCoreApplication::instance()->applicationDirPath().toStdString());
+ set_librarydir(boosty::stringy(fs::path(QCoreApplication::instance()->applicationDirPath().toStdString()) / "../libraries"));
Context root_ctx;
register_builtin(root_ctx);
diff --git a/tests/csgtestcore.cc b/tests/csgtestcore.cc
index e89f4a6..b9f0d27 100644
--- a/tests/csgtestcore.cc
+++ b/tests/csgtestcore.cc
@@ -258,6 +258,7 @@ int csgtestcore(int argc, char *argv[], test_type_e test_type)
std::string currentdir = boosty::stringy( fs::current_path() );
parser_init(QCoreApplication::instance()->applicationDirPath().toStdString());
+ set_librarydir(boosty::stringy(fs::path(QCoreApplication::instance()->applicationDirPath().toStdString()) / "../libraries"));
Context root_ctx;
register_builtin(root_ctx);
diff --git a/tests/csgtexttest.cc b/tests/csgtexttest.cc
index 6c8a319..67e3416 100644
--- a/tests/csgtexttest.cc
+++ b/tests/csgtexttest.cc
@@ -81,6 +81,7 @@ int main(int argc, char **argv)
currentdir = boosty::stringy( fs::current_path() );
parser_init(QCoreApplication::instance()->applicationDirPath().toStdString());
+ set_librarydir(boosty::stringy(fs::path(QCoreApplication::instance()->applicationDirPath().toStdString()) / "../libraries"));
Context root_ctx;
register_builtin(root_ctx);
diff --git a/tests/dumptest.cc b/tests/dumptest.cc
index 055d37a..dbf74ab 100644
--- a/tests/dumptest.cc
+++ b/tests/dumptest.cc
@@ -87,6 +87,7 @@ int main(int argc, char **argv)
currentdir = boosty::stringy( fs::current_path() );
parser_init(QCoreApplication::instance()->applicationDirPath().toStdString());
+ set_librarydir(boosty::stringy(fs::path(QCoreApplication::instance()->applicationDirPath().toStdString()) / "../libraries"));
Context root_ctx;
register_builtin(root_ctx);
diff --git a/tests/echotest.cc b/tests/echotest.cc
index ae0b110..b08e81a 100644
--- a/tests/echotest.cc
+++ b/tests/echotest.cc
@@ -89,6 +89,7 @@ int main(int argc, char **argv)
currentdir = boosty::stringy( fs::current_path() );
parser_init(QCoreApplication::instance()->applicationDirPath().toStdString());
+ set_librarydir(boosty::stringy(fs::path(QCoreApplication::instance()->applicationDirPath().toStdString()) / "../libraries"));
Context root_ctx;
register_builtin(root_ctx);
contact: Jan Huwald // Impressum