mirror of https://github.com/vitalif/openscad
generalized MACOSX_DEPLOY_DIR into the platform-independent OPENSCAD_LIBRARIES
parent
6d3304a306
commit
b74bb392af
34
bison.pri
34
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
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
|
10
cgal.pri
10
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
|
||||
}
|
||||
|
|
|
@ -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)
|
|
@ -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
|
||||
|
||||
|
|
35
eigen2.pri
35
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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
25
flex.pri
25
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
|
||||
}
|
||||
|
|
7
glew.pri
7
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
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
|
@ -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")
|
||||
}
|
||||
}
|
||||
|
|
102
openscad.pro
102
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 \
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
}
|
Loading…
Reference in New Issue