summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bison.pri4
-rw-r--r--openscad.pro12
-rwxr-xr-xscripts/release-common.sh32
-rw-r--r--src/CGALEvaluator.cc1
-rw-r--r--src/PlatformUtils.cc23
-rw-r--r--src/cgaladv.cc1
-rw-r--r--src/control.cc2
-rw-r--r--src/csgops.cc1
-rw-r--r--src/import.cc2
-rw-r--r--src/mainwin.cc4
-rw-r--r--src/system-gl.cc3
11 files changed, 59 insertions, 26 deletions
diff --git a/bison.pri b/bison.pri
index d2972d6..f28c6e0 100644
--- a/bison.pri
+++ b/bison.pri
@@ -3,7 +3,7 @@
bison.input = BISONSOURCES
bison.output = ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.cpp
bison.commands = bison -d -p ${QMAKE_FILE_BASE} -o ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.cpp ${QMAKE_FILE_IN}
- bison.commands += && mv ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.hpp ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.h
+ bison.commands += && if [ -e ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.hpp ]; then mv ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.hpp ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.h ; fi
bison.CONFIG += target_predeps
bison.variable_out = GENERATED_SOURCES
silent:bison.commands = @echo Bison ${QMAKE_FILE_IN} && $$bison.commands
@@ -11,7 +11,7 @@
bison_header.input = BISONSOURCES
bison_header.output = ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.h
bison_header.commands = bison -d -p ${QMAKE_FILE_BASE} -o ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.cpp ${QMAKE_FILE_IN}
- bison_header.commands += && mv ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.hpp ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.h
+ bison_header.commands += && if [ -e ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.hpp ]; then mv ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.hpp ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.h ; fi
bison_header.CONFIG += target_predeps no_link
silent:bison_header.commands = @echo Bison ${QMAKE_FILE_IN} && $$bison.commands
QMAKE_EXTRA_COMPILERS += bison_header
diff --git a/openscad.pro b/openscad.pro
index 8bd24af..c007330 100644
--- a/openscad.pro
+++ b/openscad.pro
@@ -31,7 +31,7 @@ isEmpty(QT_VERSION) {
include(version.pri)
# for debugging link problems (use nmake -f Makefile.Release > log.txt)
-win32 {
+win* {
# QMAKE_LFLAGS += -VERBOSE
}
debug: DEFINES += DEBUG
@@ -88,7 +88,7 @@ else {
TARGET = openscad
}
-win32 {
+win* {
RC_FILE = openscad_win32.rc
}
@@ -171,7 +171,7 @@ CONFIG(mingw-cross-env) {
include(mingw-cross-env.pri)
}
-win32 {
+win* {
FLEXSOURCES = src/lexer.l
BISONSOURCES = src/parser.y
} else {
@@ -348,7 +348,7 @@ macx {
SOURCES += src/imageutils-macosx.cc
OBJECTIVE_SOURCES += src/OffscreenContextCGL.mm
}
-win32* {
+win* {
SOURCES += src/imageutils-lodepng.cc
SOURCES += src/OffscreenContextWGL.cc
}
@@ -391,8 +391,8 @@ macx {
unix:!macx {
SOURCES += src/PlatformUtils-posix.cc
}
-win32* {
- SOURCES += src/PlatformUtils-win32.cc
+win* {
+ SOURCES += src/PlatformUtils-win.cc
}
isEmpty(PREFIX):PREFIX = /usr/local
diff --git a/scripts/release-common.sh b/scripts/release-common.sh
index 7d36907..8a1ed7c 100755
--- a/scripts/release-common.sh
+++ b/scripts/release-common.sh
@@ -52,13 +52,13 @@ elif [[ $OSTYPE == "linux-gnu" ]]; then
fi
if [ "`echo $* | grep mingw32`" ]; then
- OS=LINXWIN
+ OS=UNIX_CROSS_WIN
ARCH=32
echo Mingw-cross build using ARCH=32
fi
if [ "`echo $* | grep mingw64`" ]; then
- OS=LINXWIN
+ OS=UNIX_CROSS_WIN
ARCH=64
echo Mingw-cross build using ARCH=64
fi
@@ -90,7 +90,7 @@ fi
echo "Checking pre-requisites..."
case $OS in
- LINXWIN)
+ UNIX_CROSS_WIN)
MAKENSIS=
if [ "`command -v makensis`" ]; then
MAKENSIS=makensis
@@ -120,10 +120,9 @@ echo "Building openscad-$VERSION ($VERSIONDATE) $CONFIGURATION..."
if [ ! $NUMCPU ]; then
echo "note: you can 'export NUMCPU=x' for multi-core compiles (x=number)";
- NUMCPU=2
-else
- echo "NUMCPU: " $NUMCPU
+ NUMCPU=1
fi
+echo "NUMCPU: " $NUMCPU
CONFIG=deploy
case $OS in
@@ -138,7 +137,7 @@ case $OS in
ZIPARGS="a -tzip"
TARGET=release
;;
- LINXWIN)
+ UNIX_CROSS_WIN)
. ./scripts/setenv-mingw-xbuild.sh $ARCH
TARGET=release
ZIP="zip"
@@ -148,7 +147,7 @@ esac
case $OS in
- LINXWIN)
+ UNIX_CROSS_WIN)
cd $DEPLOYDIR && qmake VERSION=$VERSION OPENSCAD_COMMIT=$OPENSCAD_COMMIT CONFIG+=$CONFIG CONFIG+=mingw-cross-env CONFIG-=debug ../openscad.pro
cd $OPENSCADDIR
;;
@@ -158,7 +157,7 @@ case $OS in
esac
case $OS in
- LINXWIN)
+ UNIX_CROSS_WIN)
cd $DEPLOYDIR
make clean ## comment out for test-run
cd $OPENSCADDIR
@@ -176,10 +175,17 @@ case $OS in
#if the following files are missing their tried removal stops the build process on msys
touch -t 200012121010 parser_yacc.h parser_yacc.cpp lexer_lex.cpp
;;
+ UNIX_CROSS_WIN)
+ # kludge to enable paralell make
+ touch -t 200012121010 $OPENSCADDIR/src/parser_yacc.h
+ touch -t 200012121010 $OPENSCADDIR/src/parser_yacc.cpp
+ touch -t 200012121010 $OPENSCADDIR/src/parser_yacc.hpp
+ touch -t 200012121010 $OPENSCADDIR/src/lexer_lex.cpp
+ ;;
esac
case $OS in
- LINXWIN)
+ UNIX_CROSS_WIN)
# make main openscad.exe
cd $DEPLOYDIR
make $TARGET -j$NUMCPU ## comment 4 test
@@ -214,12 +220,12 @@ case $OS in
EXAMPLESDIR=OpenSCAD.app/Contents/Resources/examples
LIBRARYDIR=OpenSCAD.app/Contents/Resources/libraries
;;
- LINXWIN)
+ UNIX_CROSS_WIN)
EXAMPLESDIR=$DEPLOYDIR/openscad-$VERSION/examples/
LIBRARYDIR=$DEPLOYDIR/openscad-$VERSION/libraries/
rm -rf $DEPLOYDIR/openscad-$VERSION
mkdir $DEPLOYDIR/openscad-$VERSION
- ;;
+ ;;
*)
EXAMPLESDIR=openscad-$VERSION/examples/
LIBRARYDIR=openscad-$VERSION/libraries/
@@ -267,7 +273,7 @@ case $OS in
rm -rf openscad-$VERSION
echo "Binary created: openscad-$VERSION.zip"
;;
- LINXWIN)
+ UNIX_CROSS_WIN)
BINFILE=$DEPLOYDIR/OpenSCAD-$VERSION-x86-$ARCH.zip
INSTFILE=$DEPLOYDIR/OpenSCAD-$VERSION-x86-$ARCH-Installer.exe
diff --git a/src/CGALEvaluator.cc b/src/CGALEvaluator.cc
index d0140fa..2ea7a8d 100644
--- a/src/CGALEvaluator.cc
+++ b/src/CGALEvaluator.cc
@@ -291,6 +291,7 @@ Response CGALEvaluator::visit(State &state, const CsgNode &node)
op = CGE_INTERSECTION;
break;
default:
+ op = -1;
assert(false);
}
N = applyToChildren(node, op);
diff --git a/src/PlatformUtils.cc b/src/PlatformUtils.cc
index cea449b..a7efe40 100644
--- a/src/PlatformUtils.cc
+++ b/src/PlatformUtils.cc
@@ -3,5 +3,26 @@
std::string PlatformUtils::libraryPath()
{
- return boosty::stringy(fs::path(PlatformUtils::documentsPath()) / "OpenSCAD" / "libraries");
+ fs::path path;
+ bool OK = true;
+ try {
+ path = boosty::canonical(fs::path(PlatformUtils::documentsPath()));
+ if (path.empty()) return "";
+ PRINTB("path size %i",boosty::stringy(path).size());
+ path /= "OpenSCAD";
+ path /= "libraries";
+ PRINTB("Appended path %s", path );
+ PRINTB("Exists: %i", fs::exists(path) );
+ if (!fs::exists(path)) {
+ PRINTB("Creating library folder %s", boosty::stringy(path) );
+ OK &= fs::create_directories( path );
+ }
+ if (!OK) {
+ PRINTB("ERROR: Cannot find nor create %s", boosty::stringy(path) );
+ path = fs::path("");
+ }
+ } catch (const fs::filesystem_error& ex) {
+ PRINTB("ERROR: %s",ex.what());
+ }
+ return boosty::stringy( path );
}
diff --git a/src/cgaladv.cc b/src/cgaladv.cc
index 70590f7..ee3d657 100644
--- a/src/cgaladv.cc
+++ b/src/cgaladv.cc
@@ -142,6 +142,7 @@ std::string CgaladvNode::name() const
default:
assert(false);
}
+ return "internal_error";
}
std::string CgaladvNode::toString() const
diff --git a/src/control.cc b/src/control.cc
index 7786e36..c5ad09b 100644
--- a/src/control.cc
+++ b/src/control.cc
@@ -114,7 +114,7 @@ AbstractNode *ControlModule::instantiate(const Context *ctx, const ModuleInstant
// assert(filectx->evalctx);
if (filectx->evalctx) {
- if (n < filectx->evalctx->numChildren()) {
+ if (n < (int)filectx->evalctx->numChildren()) {
node = filectx->evalctx->getChild(n)->evaluate(filectx->evalctx);
}
else {
diff --git a/src/csgops.cc b/src/csgops.cc
index 92b97e7..8ac1d4f 100644
--- a/src/csgops.cc
+++ b/src/csgops.cc
@@ -69,6 +69,7 @@ std::string CsgNode::name() const
default:
assert(false);
}
+ return "internal_error";
}
void register_builtin_csgops()
diff --git a/src/import.cc b/src/import.cc
index 2180684..b5d67d2 100644
--- a/src/import.cc
+++ b/src/import.cc
@@ -204,7 +204,7 @@ PolySet *ImportNode::evaluate_polyset(class PolySetEvaluator *) const
boost::regex ex_vertices("\\s*vertex\\s+([^\\s]+)\\s+([^\\s]+)\\s+([^\\s]+)");
bool binary = false;
- int file_size = f.tellg();
+ std::streampos file_size = f.tellg();
f.seekg(80);
if (!f.eof()) {
uint32_t facenum = 0;
diff --git a/src/mainwin.cc b/src/mainwin.cc
index 9b490c7..f370f3d 100644
--- a/src/mainwin.cc
+++ b/src/mainwin.cc
@@ -955,7 +955,9 @@ void MainWindow::actionSaveAs()
void MainWindow::actionShowLibraryFolder()
{
- QDesktopServices::openUrl(QUrl::fromLocalFile(QString::fromStdString(PlatformUtils::libraryPath())));
+ QString url = QString::fromStdString(PlatformUtils::libraryPath());
+ PRINTB("Opening file browser for %s", url.toStdString() );
+ QDesktopServices::openUrl(QUrl::fromLocalFile( url ));
}
void MainWindow::actionReload()
diff --git a/src/system-gl.cc b/src/system-gl.cc
index 0c436e5..098dcb2 100644
--- a/src/system-gl.cc
+++ b/src/system-gl.cc
@@ -46,7 +46,8 @@ string glew_extensions_dump()
sort( extensions.begin(), extensions.end() );
stringstream out;
out << "GL Extensions:";
- for ( int i=0;i<extensions.size();i++ ) out << extensions[i] << "\n";
+ for ( unsigned int i=0;i<extensions.size();i++ )
+ out << extensions[i] << "\n";
return out.str();
}
contact: Jan Huwald // Impressum