generalized MACOSX_DEPLOY_DIR into the platform-independent OPENSCAD_LIBRARIES

stl_dim
Marius Kintel 2011-12-15 04:59:15 +01:00
parent 6d3304a306
commit b74bb392af
16 changed files with 136 additions and 140 deletions

View File

@ -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

View File

@ -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
}
}

View File

@ -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
}

7
common.pri Normal file
View File

@ -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)

View File

@ -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

View File

@ -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
}
}
}

View File

@ -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
}

View File

@ -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
}

13
mingw-cross-env.pri Normal file
View File

@ -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
}

View File

@ -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")
}
}

View File

@ -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 \

View File

@ -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
}

View File

@ -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

View File

@ -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

View File

@ -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

20
win32.pri Normal file
View File

@ -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
}