mirror of https://github.com/vitalif/openscad
merge branch to get windows "library path" working. tweak build system,
eliminate several compiler warnings.felipesanches-svg
parent
164902fa76
commit
31c88a434b
|
@ -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
|
||||
|
|
12
openscad.pro
12
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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 );
|
||||
}
|
||||
|
|
|
@ -142,6 +142,7 @@ std::string CgaladvNode::name() const
|
|||
default:
|
||||
assert(false);
|
||||
}
|
||||
return "internal_error";
|
||||
}
|
||||
|
||||
std::string CgaladvNode::toString() const
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -69,6 +69,7 @@ std::string CsgNode::name() const
|
|||
default:
|
||||
assert(false);
|
||||
}
|
||||
return "internal_error";
|
||||
}
|
||||
|
||||
void register_builtin_csgops()
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue