summaryrefslogtreecommitdiff
path: root/openscad.pro
diff options
context:
space:
mode:
Diffstat (limited to 'openscad.pro')
-rw-r--r--openscad.pro141
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
}
contact: Jan Huwald // Impressum