diff options
Diffstat (limited to 'openscad.pro')
-rw-r--r-- | openscad.pro | 141 |
1 files changed, 57 insertions, 84 deletions
diff --git a/openscad.pro b/openscad.pro index 4a1c0f3..e38251a 100644 --- a/openscad.pro +++ b/openscad.pro @@ -1,3 +1,13 @@ +# Environment variables which can be set to specify library locations: +# MPIRDIR +# MPFRDIR +# BOOSTDIR +# CGALDIR +# EIGEN2DIR +# GLEWDIR +# OPENCSGDIR +# OPENSCAD_LIBRARIES +# isEmpty(QT_VERSION) { error("Please use qmake for Qt 4 (probably qmake-qt4)") @@ -18,84 +28,30 @@ include(version.pri) # for debugging link problems (use nmake -f Makefile.Release > log.txt) win32 { - # QMAKE_LFLAGS += -VERBOSE + # QMAKE_LFLAGS += -VERBOSE } debug: DEFINES += DEBUG -# cross compilation unix->win32 - -CONFIG(mingw-cross-env) { - LIBS += mingw-cross-env/lib/libglew32s.a - LIBS += mingw-cross-env/lib/libglut.a - LIBS += mingw-cross-env/lib/libopengl32.a - LIBS += mingw-cross-env/lib/libGLEW.a - LIBS += mingw-cross-env/lib/libglaux.a - LIBS += mingw-cross-env/lib/libglu32.a - LIBS += mingw-cross-env/lib/libopencsg.a - LIBS += mingw-cross-env/lib/libmpfr.a - LIBS += mingw-cross-env/lib/libCGAL.a - QMAKE_CXXFLAGS += -fpermissive -} - -#configure lex / yacc -unix:freebsd-g++ { - QMAKE_LEX = /usr/local/bin/flex - QMAKE_YACC = /usr/local/bin/bison -} -win32 { - include(flex.pri) - include(bison.pri) - FLEXSOURCES = src/lexer.l - BISONSOURCES = src/parser.y -} else { - LEXSOURCES += src/lexer.l - YACCSOURCES += src/parser.y -} - -#configure additional directories -win32 { - INCLUDEPATH += $$(MPIRDIR) - INCLUDEPATH += $$(MPFRDIR) -} +TEMPLATE = app -DEFINES += OPENSCAD_VERSION=$$VERSION OPENSCAD_YEAR=$$VERSION_YEAR OPENSCAD_MONTH=$$VERSION_MONTH -!isEmpty(VERSION_DAY): DEFINES += OPENSCAD_DAY=$$VERSION_DAY -win32:DEFINES += _USE_MATH_DEFINES NOMINMAX _CRT_SECURE_NO_WARNINGS YY_NO_UNISTD_H +INCLUDEPATH += src -# disable MSVC warnings that are of very low importance -win32:*msvc* { - # disable warning about too long decorated names - QMAKE_CXXFLAGS += -wd4503 - # CGAL casting int to bool - QMAKE_CXXFLAGS += -wd4800 - # CGAL's unreferenced formal parameters - QMAKE_CXXFLAGS += -wd4100 - # lexer uses strdup() & other POSIX stuff - QMAKE_CXXFLAGS += -D_CRT_NONSTDC_NO_DEPRECATE +# Handle custom library location. +# Used when manually installing 3rd party libraries +OPENSCAD_LIBDIR = $$(OPENSCAD_LIBRARIES) +!isEmpty(OPENSCAD_LIBDIR) { + QMAKE_INCDIR_QT = $$OPENSCAD_LIBDIR/include $$QMAKE_INCDIR_QT + QMAKE_LIBDIR = $$OPENSCAD_LIBDIR/lib $$QMAKE_LIBDIR } - -# disable Eigen SIMD optimizations for non-Mac OSX -!macx { - !freebsd-g++ { - QMAKE_CXXFLAGS += -DEIGEN_DONT_ALIGN +else { + macx { + # Default to MacPorts on Mac OS X + QMAKE_INCDIR = /opt/local/include + QMAKE_LIBDIR = /opt/local/lib } } -TEMPLATE = app -RESOURCES = openscad.qrc - -OBJECTS_DIR = objects -MOC_DIR = objects -UI_DIR = objects -RCC_DIR = objects -INCLUDEPATH += src - macx { - DEPLOYDIR = $$(MACOSX_DEPLOY_DIR) - !isEmpty(DEPLOYDIR) { - INCLUDEPATH += $$DEPLOYDIR/include - LIBS += -L$$DEPLOYDIR/lib - } # add CONFIG+=deploy to the qmake command-line to make a deployment build deploy { message("Building deployment version") @@ -121,21 +77,31 @@ win32 { CONFIG += qt QT += opengl +# Fedora Linux + DSO fix +linux*:exists(/usr/lib64/libGLU*)|linux*:exists(/usr/lib/libGLU*) { + LIBS += -lGLU +} + +CONFIG(mingw-cross-env) { + include(mingw-cross-env.pri) +} + # Application configuration macx:CONFIG += mdi CONFIG += cgal CONFIG += opencsg -CONFIG += progresswidget CONFIG += boost +CONFIG += eigen2 #Uncomment the following line to enable QCodeEdit #CONFIG += qcodeedit mdi { - # MDI needs an OpenCSG library that is compiled with OpenCSG-Reset-Hack.patch applied DEFINES += ENABLE_MDI } +# FIXME: This can be made default by now +CONFIG += progresswidget progresswidget { DEFINES += USE_PROGRESSWIDGET FORMS += src/ProgressWidget.ui @@ -143,31 +109,31 @@ progresswidget { SOURCES += src/ProgressWidget.cc } -include(cgal.pri) -include(opencsg.pri) -include(eigen2.pri) -include(boost.pri) - -# Standard include path for misc external libs -#macx { -# INCLUDEPATH += /opt/local/include -#} +include(common.pri) -# QMAKE_CFLAGS += -pg -# QMAKE_CXXFLAGS += -pg -# QMAKE_LFLAGS += -pg +win32 { + FLEXSOURCES = src/lexer.l + BISONSOURCES = src/parser.y +} else { + LEXSOURCES += src/lexer.l + YACCSOURCES += src/parser.y +} +RESOURCES = openscad.qrc FORMS += src/MainWindow.ui \ - src/Preferences.ui + src/Preferences.ui \ + src/OpenCSGWarningDialog.ui HEADERS += src/renderer.h \ + src/rendersettings.h \ src/ThrownTogetherRenderer.h \ src/CGAL_renderer.h \ src/OGL_helper.h \ src/GLView.h \ src/MainWindow.h \ src/Preferences.h \ + src/OpenCSGWarningDialog.h \ src/builtin.h \ src/context.h \ src/csgterm.h \ @@ -215,6 +181,8 @@ HEADERS += src/renderer.h \ SOURCES += src/openscad.cc \ src/mainwin.cc \ src/handle_dep.cc \ + src/renderer.cc \ + src/rendersettings.cc \ src/ThrownTogetherRenderer.cc \ src/glview.cc \ src/export.cc \ @@ -247,6 +215,7 @@ SOURCES += src/openscad.cc \ src/highlighter.cc \ src/printutils.cc \ src/Preferences.cc \ + src/OpenCSGWarningDialog.cc \ src/progress.cc \ src/editor.cc \ src/traverser.cc \ @@ -257,6 +226,11 @@ SOURCES += src/openscad.cc \ src/PolySetCache.cc \ src/PolySetEvaluator.cc +opencsg { + HEADERS += src/OpenCSGRenderer.h + SOURCES += src/OpenCSGRenderer.cc +} + cgal { HEADERS += src/cgal.h \ src/cgalfwd.h \ @@ -274,7 +248,6 @@ SOURCES += src/cgalutils.cc \ src/CGALRenderer.cc \ src/CGAL_Nef_polyhedron.cc \ src/CGAL_Nef_polyhedron_DxfData.cc \ - src/cgaladv_convexhull2.cc \ src/cgaladv_minkowski2.cc } |