mirror of https://github.com/vitalif/openscad
Improved Mac OS X deployment - hopefully this doesn't break builds on other platforms
git-svn-id: http://svn.clifford.at/openscad/trunk@529 b57f626f-c46c-0410-a088-ec61d464b74cstl_dim
parent
a35283f294
commit
f5b3b30e51
27
cgal.pri
27
cgal.pri
|
@ -1,22 +1,17 @@
|
|||
cgal {
|
||||
DEFINES += ENABLE_CGAL
|
||||
LIBS += -lCGAL
|
||||
|
||||
# Optionally specify location of CGAL using the
|
||||
# CGALDIR env. variable
|
||||
CGAL_DIR = $$(CGALDIR)
|
||||
!isEmpty(CGAL_DIR) {
|
||||
INCLUDEPATH += $$CGAL_DIR/include
|
||||
LIBS += -L$$CGAL_DIR/lib
|
||||
message("CGAL location: $$CGAL_DIR")
|
||||
!deploy {
|
||||
# Optionally specify location of CGAL using the
|
||||
# CGALDIR env. variable
|
||||
CGAL_DIR = $$(CGALDIR)
|
||||
!isEmpty(CGAL_DIR) {
|
||||
INCLUDEPATH += $$CGAL_DIR/include
|
||||
LIBS += -L$$CGAL_DIR/lib
|
||||
message("CGAL location: $$CGAL_DIR")
|
||||
}
|
||||
}
|
||||
macx {
|
||||
# The -L/usr/lib is to force the linker to use system libraries over MacPort libraries
|
||||
LIBS += -L/usr/lib -L/opt/local/lib /opt/local/lib/libgmp.a /opt/local/lib/libmpfr.a /opt/local/lib/libboost_thread-mt.a
|
||||
}
|
||||
else {
|
||||
LIBS += -lmpfr
|
||||
}
|
||||
win32:LIBS += -lboost_thread -lgmp
|
||||
|
||||
LIBS += -lCGAL -lmpfr -lgmp -lboost_thread
|
||||
QMAKE_CXXFLAGS += -frounding-math
|
||||
}
|
||||
|
|
|
@ -41,7 +41,7 @@ o MDI
|
|||
o 3D View
|
||||
- OpenGL 2.0 test: What, exactly, is needed from OpenGL 2.0? Can we use 1.x with extensions?
|
||||
- Improve mouse rotation
|
||||
- Add modifier key combos to handle pan on 1 mouse button systems
|
||||
- Add modifier key combos to handle pan and zoom on 1 mouse button systems
|
||||
- Show grid
|
||||
- 4 x split view w/orthogonal cameras?
|
||||
- Quick highlighting of object under the cursor in the editor
|
||||
|
@ -170,6 +170,8 @@ MISC
|
|||
o Streamline the cmd-line interface a bit
|
||||
- Implicit output file format
|
||||
o Mac OS X:
|
||||
- universal binary -> fix cgal and opencsg
|
||||
- 32-bit compatibility
|
||||
o Build everything including i386 arch
|
||||
|
||||
o Write checklists for typical extension work (add new module, add new function)
|
||||
-> make sure new test files are added
|
||||
|
|
|
@ -1,30 +1,60 @@
|
|||
o Prerequisites (MacPorts):
|
||||
- NB! CGAL requires gcc >= 4.2
|
||||
- eigen
|
||||
- boost
|
||||
- gmp
|
||||
- mpfr
|
||||
- cmake
|
||||
- Qt4
|
||||
NB! This is the Mac OS X deployment checklist.
|
||||
See build-macosx.txt for how to build a development build of
|
||||
OpenSCAD for your system only without manually compiling all
|
||||
dependencies.
|
||||
|
||||
o MacPorts libs
|
||||
port install eigen
|
||||
|
||||
o Qt4
|
||||
- Download and install the combined 32-bit and 64-bit build for 10.5-10.6 from here:
|
||||
http://qt.nokia.com/downloads/qt-for-open-source-cpp-development-on-mac-os-x
|
||||
|
||||
o Build gmp
|
||||
|
||||
tar xjz gmp-5.0.1.tar.bz2
|
||||
cd gmp-5.0.1
|
||||
./configure --prefix=$PWD/../../deploy CFLAGS=-mmacosx-version-min=10.5 LDFLAGS=-mmacosx-version-min=10.5
|
||||
make install
|
||||
|
||||
o Build mpfr
|
||||
tar xjz mpfr-2.4.2.tar.bz2
|
||||
cd mpfr-2.4.2
|
||||
./configure --prefix=$PWD/../../deploy --with-gmp=$PWD/../../deploy CFLAGS=-mmacosx-version-min=10.5 LDFLAGS=-mmacosx-version-min=10.5
|
||||
make install
|
||||
|
||||
o Build boost::thread
|
||||
tar xjz boost_1_42_0.tar.bz2
|
||||
cd boost_1_42_0
|
||||
./bootstrap.sh --prefix=$PWD/../../deploy --with-libraries=thread
|
||||
./bjam cflags="-mmacosx-version-min=10.5" linkflags="-mmacosx-version-min=10.5"
|
||||
./bjam install
|
||||
|
||||
o Build CGAL >= 3.5
|
||||
|
||||
tar xzf CGAL-3.6.tar.gz
|
||||
cd CGAL-3.6
|
||||
cmake -DCMAKE_INSTALL_PREFIX=$PWD/../install/CGAL-3.6 -DBUILD_SHARED_LIBS=FALSE
|
||||
cmake -DCMAKE_INSTALL_PREFIX=$PWD/../../deploy -DBUILD_SHARED_LIBS=FALSE -DCMAKE_OSX_DEPLOYMENT_TARGET="10.5"
|
||||
make -j4
|
||||
make install
|
||||
|
||||
o Patch OpenCSG >= 1.3.0
|
||||
o Patch & build GLEW
|
||||
|
||||
tar xzf glew-1.5.3.tar.gz
|
||||
cd glew-1.5.3
|
||||
patch -p1 < ../openscad/patches/glew-1.5.3-MacOSX.patch
|
||||
mkdir ../../deploy/lib/pkgconfig
|
||||
GLEW_DEST=$PWD/../../deploy make install
|
||||
|
||||
o Patch and build OpenCSG >= 1.3.0
|
||||
|
||||
FIXME: Update patch
|
||||
tar xzf OpenCSG-1.3.0.tar.gz
|
||||
cd OpenCSG-1.3.0
|
||||
patch -p1 < ../openscad/patches/OpenCSG-1.3.0-MacOSX-port.patch
|
||||
|
||||
o Build OpenCSG
|
||||
|
||||
qmake -recursive
|
||||
MACOSX_DEPLOY_DIR=$PWD/../../deploy qmake -r
|
||||
make
|
||||
make install
|
||||
|
||||
o Build and Deploy OpenSCAD
|
||||
|
||||
|
|
32
opencsg.pri
32
opencsg.pri
|
@ -1,23 +1,21 @@
|
|||
opencsg {
|
||||
DEFINES += ENABLE_OPENCSG
|
||||
CONFIG += glew
|
||||
include(glew.pri)
|
||||
|
||||
HEADERS += src/render-opencsg.h
|
||||
SOURCES += src/render-opencsg.cc
|
||||
|
||||
DEFINES += ENABLE_OPENCSG
|
||||
LIBS += -lopencsg
|
||||
unix:LIBS += -lGLEW
|
||||
win32:LIBS += -lglew32
|
||||
!deploy {
|
||||
# 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
|
||||
message("OpenCSG location: $$OPENCSG_DIR")
|
||||
}
|
||||
}
|
||||
|
||||
# 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
|
||||
message("OpenCSG location: $$CGAL_DIR")
|
||||
}
|
||||
macx {
|
||||
# For glew
|
||||
INCLUDEPATH += /opt/local/include
|
||||
LIBS += -L/opt/local/lib
|
||||
}
|
||||
LIBS += -lopencsg
|
||||
}
|
||||
|
|
16
openscad.pro
16
openscad.pro
|
@ -10,6 +10,16 @@ RCC_DIR = objects
|
|||
INCLUDEPATH += src
|
||||
|
||||
macx {
|
||||
# add CONFIG+=deploy to the qmake command-line to make a deployment build
|
||||
deploy {
|
||||
message("Building deployment version")
|
||||
DEPLOYDIR = $$(MACOSX_DEPLOY_DIR)
|
||||
!isEmpty(DEPLOYDIR) {
|
||||
INCLUDEPATH += $$DEPLOYDIR/include
|
||||
LIBS += -L$$DEPLOYDIR/lib
|
||||
}
|
||||
}
|
||||
|
||||
TARGET = OpenSCAD
|
||||
ICON = icons/OpenSCAD.icns
|
||||
QMAKE_INFO_PLIST = Info.plist
|
||||
|
@ -56,9 +66,9 @@ include(opencsg.pri)
|
|||
include(eigen2.pri)
|
||||
|
||||
# Standard include path for misc external libs
|
||||
macx {
|
||||
INCLUDEPATH += /opt/local/include
|
||||
}
|
||||
#macx {
|
||||
# INCLUDEPATH += /opt/local/include
|
||||
#}
|
||||
|
||||
# QMAKE_CFLAGS += -pg
|
||||
# QMAKE_CXXFLAGS += -pg
|
||||
|
|
|
@ -5,6 +5,8 @@
|
|||
# are present and that they are backwards compatible with at least 10.5.
|
||||
# Run with an executable as parameter
|
||||
#
|
||||
# Author: Marius Kintel <marius@kintel.net>
|
||||
#
|
||||
|
||||
import sys
|
||||
import os
|
||||
|
|
|
@ -42,7 +42,7 @@ echo "Building openscad-$VERSION $CONFIGURATION..."
|
|||
|
||||
case $OS in
|
||||
MACOSX)
|
||||
CONFIG=mdi
|
||||
CONFIG=deploy
|
||||
TARGET=
|
||||
;;
|
||||
WIN)
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
export MACOSX_DEPLOY_DIR=$PWD/../libraries/deploy
|
||||
export DYLD_LIBRARY_PATH=$MACOSX_DEPLOY_DIR/lib
|
||||
|
||||
export OPENCSGDIR=$PWD/../OpenCSG-1.3.0
|
||||
export CGALDIR=$PWD/../install/CGAL-3.6
|
||||
export QCODEEDITDIR=$PWD/../qcodeedit-2.2.3/install
|
||||
|
|
Loading…
Reference in New Issue