diff options
Diffstat (limited to 'src/parsersettings.cc')
-rw-r--r-- | src/parsersettings.cc | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/parsersettings.cc b/src/parsersettings.cc new file mode 100644 index 0000000..2d0b1b3 --- /dev/null +++ b/src/parsersettings.cc @@ -0,0 +1,27 @@ +#include "parsersettings.h" +#include <boost/filesystem.hpp> + +using namespace boost::filesystem; + +std::string librarydir; + +void parser_init(const std::string &applicationpath) +{ + path libdir(applicationpath); + path tmpdir; +#ifdef Q_WS_MAC + libdir /= "../Resources"; // Libraries can be bundled + if (!is_directory(libdir / "libraries")) libdir /= "../../.."; +#elif defined(Q_OS_UNIX) + if (is_directory(tmpdir = libdir / "../share/openscad/libraries")) { + librarydir = tmpdir.generic_string(); + } else if (is_directory(tmpdir = libdir / "../../share/openscad/libraries")) { + librarydir = tmpdir.generic_string(); + } else if (is_directory(tmpdir = libdir / "../../libraries")) { + librarydir = tmpdir.generic_string(); + } else +#endif + if (is_directory(tmpdir = libdir / "libraries")) { + librarydir = tmpdir.generic_string(); + } +} |