summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2011-12-15 03:59:15 (GMT)
committerMarius Kintel <marius@kintel.net>2011-12-15 03:59:15 (GMT)
commitb74bb392afbeee062b9654dac78950fc85c4c884 (patch)
treefa24632088f8dee0f91d8500619a820d61d4b030
parent6d3304a30669b24bec9d70c4086ee109e47aefb0 (diff)
generalized MACOSX_DEPLOY_DIR into the platform-independent OPENSCAD_LIBRARIES
-rw-r--r--bison.pri34
-rw-r--r--boost.pri6
-rw-r--r--cgal.pri10
-rw-r--r--common.pri7
-rw-r--r--doc/testing.txt2
-rw-r--r--eigen2.pri35
-rw-r--r--flex.pri25
-rw-r--r--glew.pri7
-rw-r--r--mingw-cross-env.pri13
-rw-r--r--opencsg.pri6
-rw-r--r--openscad.pro102
-rwxr-xr-xscripts/macosx-build-dependencies.sh2
-rwxr-xr-xscripts/publish-macosx.sh2
-rw-r--r--setenv_mjau.sh2
-rw-r--r--version.pri3
-rw-r--r--win32.pri20
16 files changed, 136 insertions, 140 deletions
diff --git a/bison.pri b/bison.pri
index 003e09b..b1f3292 100644
--- a/bison.pri
+++ b/bison.pri
@@ -1,17 +1,17 @@
-#setup bison for qmake
-bison.name = Bison ${QMAKE_FILE_IN}
-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.CONFIG += target_predeps
-bison.variable_out = GENERATED_SOURCES
-silent:bison.commands = @echo Bison ${QMAKE_FILE_IN} && $$bison.commands
-QMAKE_EXTRA_COMPILERS += bison
-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.CONFIG += target_predeps no_link
-silent:bison_header.commands = @echo Bison ${QMAKE_FILE_IN} && $$bison.commands
-QMAKE_EXTRA_COMPILERS += bison_header
+#setup bison for qmake
+bison.name = Bison ${QMAKE_FILE_IN}
+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.CONFIG += target_predeps
+bison.variable_out = GENERATED_SOURCES
+silent:bison.commands = @echo Bison ${QMAKE_FILE_IN} && $$bison.commands
+QMAKE_EXTRA_COMPILERS += bison
+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.CONFIG += target_predeps no_link
+silent:bison_header.commands = @echo Bison ${QMAKE_FILE_IN} && $$bison.commands
+QMAKE_EXTRA_COMPILERS += bison_header
diff --git a/boost.pri b/boost.pri
index d93b738..79fa0e3 100644
--- a/boost.pri
+++ b/boost.pri
@@ -1,13 +1,13 @@
boost {
- isEmpty(DEPLOYDIR) {
+ isEmpty(OPENSCAD_LIBDIR) {
# Optionally specify location of boost using the
# BOOSTDIR env. variable
BOOST_DIR = $$(BOOSTDIR)
!isEmpty(BOOST_DIR) {
- INCLUDEPATH += $$BOOST_DIR
+ QMAKE_INCDIR += $$BOOST_DIR
message("boost location: $$BOOST_DIR")
- win32:LIBS += -L$$BOOST_DIR/lib
+ win32:QMAKE_LIBDIR += -L$$BOOST_DIR/lib
}
}
diff --git a/cgal.pri b/cgal.pri
index 1d9ef22..56fb17b 100644
--- a/cgal.pri
+++ b/cgal.pri
@@ -1,14 +1,14 @@
cgal {
DEFINES += ENABLE_CGAL
- isEmpty(DEPLOYDIR) {
+ isEmpty(OPENSCAD_LIBDIR) {
# Optionally specify location of CGAL using the
# CGALDIR env. variable
CGAL_DIR = $$(CGALDIR)
!isEmpty(CGAL_DIR) {
- INCLUDEPATH += $$CGAL_DIR/include
- win32: INCLUDEPATH += $$CGAL_DIR/auxiliary/gmp/include
- LIBS += -L$$CGAL_DIR/lib
+ QMAKE_INCDIR += $$CGAL_DIR/include
+ win32: QMAKE_INCDIR += $$CGAL_DIR/auxiliary/gmp/include
+ QMAKE_LIBDIR += $$CGAL_DIR/lib
message("CGAL location: $$CGAL_DIR")
}
}
@@ -17,7 +17,7 @@ cgal {
LIBS += -lgmp -lmpfr -lCGAL
QMAKE_CXXFLAGS += -frounding-math
} else {
- windows {
+ win32 {
*-g++* {
QMAKE_CXXFLAGS += -frounding-math
}
diff --git a/common.pri b/common.pri
new file mode 100644
index 0000000..d8620ed
--- /dev/null
+++ b/common.pri
@@ -0,0 +1,7 @@
+include(win32.pri)
+include(flex.pri)
+include(bison.pri)
+include(cgal.pri)
+include(opencsg.pri)
+include(eigen2.pri)
+include(boost.pri)
diff --git a/doc/testing.txt b/doc/testing.txt
index 04768cb..67d14ba 100644
--- a/doc/testing.txt
+++ b/doc/testing.txt
@@ -64,7 +64,7 @@ $ DISPLAY=:5 ctest
Valid variables are as follows (see CMakeLists.txt for more info):
- BOOSTDIR, CGALDIR, EIGEN2DIR, GLEWDIR, OPENCSGDIR, MACOSX_DEPLOY_DIR
+ BOOSTDIR, CGALDIR, EIGEN2DIR, GLEWDIR, OPENCSGDIR, OPENSCAD_LIBRARIES
2. Logs
diff --git a/eigen2.pri b/eigen2.pri
index 4c71749..8b955e3 100644
--- a/eigen2.pri
+++ b/eigen2.pri
@@ -1,15 +1,24 @@
-# Optionally specify location of Eigen2 using the
-# EIGEN2DIR env. variable
-EIGEN2_DIR = $$(EIGEN2DIR)
-!isEmpty(EIGEN2_DIR) {
- INCLUDEPATH += $$EIGEN2_DIR
-}
-else {
- CONFIG(mingw-cross-env) {
- INCLUDEPATH += mingw-cross-env/include/eigen2
- } else {
- freebsd-g++: INCLUDEPATH += /usr/local/include/eigen2
- macx: INCLUDEPATH += /opt/local/include/eigen2
- !macx:!freebsd-g++:INCLUDEPATH += /usr/include/eigen2
+eigen2 {
+ # Optionally specify location of Eigen2 using the
+ # EIGEN2DIR env. variable
+ EIGEN2_DIR = $$(EIGEN2DIR)
+ !isEmpty(EIGEN2_DIR) {
+ INCLUDEPATH += $$EIGEN2_DIR
+ }
+ else {
+ CONFIG(mingw-cross-env) {
+ INCLUDEPATH += mingw-cross-env/include/eigen2
+ } else {
+ freebsd-g++: INCLUDEPATH += /usr/local/include/eigen2
+ macx: INCLUDEPATH += /opt/local/include/eigen2
+ !macx:!freebsd-g++:INCLUDEPATH += /usr/include/eigen2
+ }
+ }
+
+ # disable Eigen SIMD optimizations for non-Mac OSX
+ !macx {
+ !freebsd-g++ {
+ QMAKE_CXXFLAGS += -DEIGEN_DONT_ALIGN
+ }
}
}
diff --git a/flex.pri b/flex.pri
index 2042952..ef0b742 100644
--- a/flex.pri
+++ b/flex.pri
@@ -1,10 +1,15 @@
-#setup flex for qmake
-
-flex.name = Flex ${QMAKE_FILE_IN}
-flex.input = FLEXSOURCES
-flex.output = ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}.lexer.cpp
-flex.commands = flex -P ${QMAKE_FILE_BASE} -o${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}.lexer.cpp ${QMAKE_FILE_IN}
-flex.CONFIG += target_predeps
-flex.variable_out = GENERATED_SOURCES
-silent:flex.commands = @echo Lex ${QMAKE_FILE_IN} && $$flex.commands
-QMAKE_EXTRA_COMPILERS += flex
+win32 {
+ flex.name = Flex ${QMAKE_FILE_IN}
+ flex.input = FLEXSOURCES
+ flex.output = ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}.lexer.cpp
+ flex.commands = flex -P ${QMAKE_FILE_BASE} -o${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}.lexer.cpp ${QMAKE_FILE_IN}
+ flex.CONFIG += target_predeps
+ flex.variable_out = GENERATED_SOURCES
+ silent:flex.commands = @echo Lex ${QMAKE_FILE_IN} && $$flex.commands
+ QMAKE_EXTRA_COMPILERS += flex
+}
+
+unix:freebsd-g++ {
+ QMAKE_LEX = /usr/local/bin/flex
+ QMAKE_YACC = /usr/local/bin/bison
+}
diff --git a/glew.pri b/glew.pri
index 84d9449..b9c0c14 100644
--- a/glew.pri
+++ b/glew.pri
@@ -1,5 +1,5 @@
glew {
- isEmpty(DEPLOYDIR) {
+ isEmpty(OPENSCAD_LIBDIR) {
# Optionally specify location of GLEW using the
# GLEWDIR env. variable
GLEW_DIR = $$(GLEWDIR)
@@ -8,8 +8,8 @@ glew {
macx: GLEW_DIR = /opt/local
}
!isEmpty(GLEW_DIR) {
- INCLUDEPATH += $$GLEW_DIR/include
- LIBS += -L$$GLEW_DIR/lib
+ QMAKE_INCDIR += $$GLEW_DIR/include
+ QMAKE_LIBDIR += -L$$GLEW_DIR/lib
message("GLEW location: $$GLEW_DIR")
}
}
@@ -18,4 +18,3 @@ glew {
win32:LIBS += -lglew32s
CONFIG(mingw-cross-env):DEFINES += GLEW_STATIC
}
-
diff --git a/mingw-cross-env.pri b/mingw-cross-env.pri
new file mode 100644
index 0000000..b0735a2
--- /dev/null
+++ b/mingw-cross-env.pri
@@ -0,0 +1,13 @@
+# 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
+}
diff --git a/opencsg.pri b/opencsg.pri
index d34f11b..9713410 100644
--- a/opencsg.pri
+++ b/opencsg.pri
@@ -6,13 +6,13 @@ opencsg {
HEADERS += src/OpenCSGRenderer.h
SOURCES += src/OpenCSGRenderer.cc
- isEmpty(DEPLOYDIR) {
+ isEmpty(OPENSCAD_LIBDIR) {
# Optionally specify location of OpenCSG using the
# OPENCSGDIR env. variable
OPENCSG_DIR = $$(OPENCSGDIR)
!isEmpty(OPENCSG_DIR) {
- INCLUDEPATH += $$OPENCSG_DIR/include
- LIBS += -L$$OPENCSG_DIR/lib
+ QMAKE_INCDIR += $$OPENCSG_DIR/include
+ QMAKE_LIBDIR += $$OPENCSG_DIR/lib
message("OpenCSG location: $$OPENCSG_DIR")
}
}
diff --git a/openscad.pro b/openscad.pro
index 5487fc9..026db5b 100644
--- a/openscad.pro
+++ b/openscad.pro
@@ -6,7 +6,7 @@
# EIGEN2DIR
# GLEWDIR
# OPENCSGDIR
-# MACOSX_DEPLOY_DIR
+# OPENSCAD_LIBRARIES
#
isEmpty(QT_VERSION) {
@@ -28,69 +28,10 @@ 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)
-}
-
-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
-
-# 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
-}
-
-# disable Eigen SIMD optimizations for non-Mac OSX
-!macx {
- !freebsd-g++ {
- QMAKE_CXXFLAGS += -DEIGEN_DONT_ALIGN
- }
-}
-
TEMPLATE = app
RESOURCES = openscad.qrc
@@ -100,12 +41,15 @@ UI_DIR = objects
RCC_DIR = objects
INCLUDEPATH += src
+# Handle custom library location.
+# Used when manually installing 3rd party libraries
+OPENSCAD_LIBDIR = $$(OPENSCAD_LIBRARIES)
+!isEmpty(OPENSCAD_LIBDIR) {
+ QMAKE_INCDIR += $$OPENSCAD_LIBDIR/include
+ QMAKE_LIBDIR += $$OPENSCAD_LIBDIR/lib
+}
+
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")
@@ -135,17 +79,18 @@ QT += opengl
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
@@ -153,20 +98,15 @@ 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
-#}
-
-# QMAKE_CFLAGS += -pg
-# QMAKE_CXXFLAGS += -pg
-# QMAKE_LFLAGS += -pg
+include(common.pri)
+win32 {
+ FLEXSOURCES = src/lexer.l
+ BISONSOURCES = src/parser.y
+} else {
+ LEXSOURCES += src/lexer.l
+ YACCSOURCES += src/parser.y
+}
FORMS += src/MainWindow.ui \
src/Preferences.ui \
diff --git a/scripts/macosx-build-dependencies.sh b/scripts/macosx-build-dependencies.sh
index e69d594..bc42058 100755
--- a/scripts/macosx-build-dependencies.sh
+++ b/scripts/macosx-build-dependencies.sh
@@ -190,7 +190,7 @@ build_opencsg()
tar xzf OpenCSG-$version.tar.gz
cd OpenCSG-$version
patch -p1 < $OPENSCADDIR/patches/OpenCSG-$version-MacOSX-port.patch
- MACOSX_DEPLOY_DIR=$DEPLOYDIR qmake -r CONFIG+="x86 x86_64"
+ OPENSCAD_LIBRARIES=$DEPLOYDIR qmake -r CONFIG+="x86 x86_64"
make install
}
diff --git a/scripts/publish-macosx.sh b/scripts/publish-macosx.sh
index 2036e3b..e559cb8 100755
--- a/scripts/publish-macosx.sh
+++ b/scripts/publish-macosx.sh
@@ -7,7 +7,7 @@ VERSION=`date "+%Y.%m.%d"`
PATH=${PATH//\/opt\/local\/libexec\/ccache:}
# This is the same location as DEPLOYDIR in macosx-build-dependencies.sh
-export MACOSX_DEPLOY_DIR=$PWD/../libraries/install
+export OPENSCAD_LIBRARIES=$PWD/../libraries/install
`dirname $0`/release-common.sh -v $VERSION
if [[ $? != 0 ]]; then
diff --git a/setenv_mjau.sh b/setenv_mjau.sh
index f6a16d2..599be0e 100644
--- a/setenv_mjau.sh
+++ b/setenv_mjau.sh
@@ -1,4 +1,4 @@
-export MACOSX_DEPLOY_DIR=$PWD/../libraries/install
+export OPENSCAD_LIBRARIES=$PWD/../libraries/install
export DYLD_LIBRARY_PATH=$MACOSX_DEPLOY_DIR/lib
#export OPENCSGDIR=$PWD/../OpenCSG-1.3.0
diff --git a/version.pri b/version.pri
index 195c51a..c94ab82 100644
--- a/version.pri
+++ b/version.pri
@@ -62,3 +62,6 @@ isEmpty(VERSION) {
VERSION_MONTH=$${VERSION_MONTH}.0
VERSION_DAY=$${VERSION_DAY}.0
}
+
+DEFINES += OPENSCAD_VERSION=$$VERSION OPENSCAD_YEAR=$$VERSION_YEAR OPENSCAD_MONTH=$$VERSION_MONTH
+!isEmpty(VERSION_DAY): DEFINES += OPENSCAD_DAY=$$VERSION_DAY
diff --git a/win32.pri b/win32.pri
new file mode 100644
index 0000000..7a020d7
--- /dev/null
+++ b/win32.pri
@@ -0,0 +1,20 @@
+# win32-specific general settings
+
+win32 {
+ #configure additional directories
+ INCLUDEPATH += $$(MPIRDIR)
+ INCLUDEPATH += $$(MPFRDIR)
+
+ DEFINES += _USE_MATH_DEFINES NOMINMAX _CRT_SECURE_NO_WARNINGS YY_NO_UNISTD_H
+
+ # disable MSVC warnings that are of very low importance
+ # 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
+
+} \ No newline at end of file
contact: Jan Huwald // Impressum