diff options
| -rw-r--r-- | src/lexer.l | 8 | ||||
| -rw-r--r-- | src/parsersettings.cc | 13 | ||||
| -rw-r--r-- | src/parsersettings.h | 3 | ||||
| -rw-r--r-- | tests/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | tests/cgalcachetest.cc | 1 | ||||
| -rw-r--r-- | tests/cgalpngtest.cc | 1 | ||||
| -rw-r--r-- | tests/cgalstlsanitytest.cc | 1 | ||||
| -rw-r--r-- | tests/cgaltest.cc | 1 | ||||
| -rw-r--r-- | tests/csgtermtest.cc | 1 | ||||
| -rw-r--r-- | tests/csgtestcore.cc | 1 | ||||
| -rw-r--r-- | tests/csgtexttest.cc | 1 | ||||
| -rw-r--r-- | tests/dumptest.cc | 1 | ||||
| -rw-r--r-- | tests/echotest.cc | 1 | 
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); | 
