summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDon Bright <hugh.m.bright@gmail.com>2012-07-11 03:52:05 (GMT)
committerDon Bright <hugh.m.bright@gmail.com>2012-07-11 03:52:05 (GMT)
commitb2c12d23a95ca95cb74b2399625b3f949c98f657 (patch)
tree6c038ce72608676ef26e1722dbfee95e2aa0eb29
parent38a4585d1a9abe9c779c5d0677bfc81c407db371 (diff)
features: build CGAL/OpenCSG alone. customize BASEDIR more easily
-rwxr-xr-xscripts/linux-build-dependencies.sh56
-rw-r--r--scripts/setenv-linbuild.sh15
2 files changed, 49 insertions, 22 deletions
diff --git a/scripts/linux-build-dependencies.sh b/scripts/linux-build-dependencies.sh
index aef58b9..0faf67a 100755
--- a/scripts/linux-build-dependencies.sh
+++ b/scripts/linux-build-dependencies.sh
@@ -9,15 +9,8 @@
# Prerequisites:
# - wget or curl
# - Qt4
-# - cmake 2.8 ( force build_cmake at bottom if yours is too old )
#
-BASEDIR=$HOME/openscad_deps
-OPENSCADDIR=$PWD
-SRCDIR=$BASEDIR/src
-DEPLOYDIR=$BASEDIR
-NUMCPU=2 # paralell builds for some libraries
-
printUsage()
{
echo "Usage: $0"
@@ -128,7 +121,11 @@ build_cgal()
fi
tar xzf CGAL-$version.tar.gz
cd CGAL-$version
- cmake -DCMAKE_INSTALL_PREFIX=$DEPLOYDIR -DGMP_INCLUDE_DIR=$DEPLOYDIR/include -DGMP_LIBRARIES=$DEPLOYDIR/lib/libgmp.so -DGMPXX_LIBRARIES=$DEPLOYDIR/lib/libgmpxx.so -DGMPXX_INCLUDE_DIR=$DEPLOYDIR/include -DMPFR_INCLUDE_DIR=$DEPLOYDIR/include -DMPFR_LIBRARIES=$DEPLOYDIR/lib/libmpfr.so -DWITH_CGAL_Qt3=OFF -DWITH_CGAL_Qt4=OFF -DWITH_CGAL_ImageIO=OFF -DBOOST_ROOT=$DEPLOYDIR -DCMAKE_BUILD_TYPE=Debug
+ if [ $2 = use-sys-libs ]; then
+ cmake -DCMAKE_INSTALL_PREFIX=$DEPLOYDIR -DWITH_CGAL_Qt3=OFF -DWITH_CGAL_Qt4=OFF -DWITH_CGAL_ImageIO=OFF -DCMAKE_BUILD_TYPE=Debug
+ else
+ cmake -DCMAKE_INSTALL_PREFIX=$DEPLOYDIR -DGMP_INCLUDE_DIR=$DEPLOYDIR/include -DGMP_LIBRARIES=$DEPLOYDIR/lib/libgmp.so -DGMPXX_LIBRARIES=$DEPLOYDIR/lib/libgmpxx.so -DGMPXX_INCLUDE_DIR=$DEPLOYDIR/include -DMPFR_INCLUDE_DIR=$DEPLOYDIR/include -DMPFR_LIBRARIES=$DEPLOYDIR/lib/libmpfr.so -DWITH_CGAL_Qt3=OFF -DWITH_CGAL_Qt4=OFF -DWITH_CGAL_ImageIO=OFF -DBOOST_ROOT=$DEPLOYDIR -DCMAKE_BUILD_TYPE=Debug
+ fi
make -j$NUMCPU
make install
}
@@ -169,7 +166,11 @@ build_opencsg()
# uncomment this kludge for Fedora 64bit
# sed -i s/"\-lXmu"/"\-L\/usr\/lib64\/libXmu.so.6"/ src/Makefile
- qmake-qt4
+ if [ "`command -v qmake-qt4`" ]; then
+ qmake-qt4
+ else
+ qmake
+ fi
make
install -v lib/* $DEPLOYDIR/lib
install -v include/* $DEPLOYDIR/include
@@ -196,11 +197,21 @@ build_eigen()
make install
}
+
+
+OPENSCADDIR=$PWD
if [ ! -f $OPENSCADDIR/openscad.pro ]; then
echo "Must be run from the OpenSCAD source root directory"
exit 0
fi
+source ./scripts/setenv-linbuild.sh
+SRCDIR=$BASEDIR/src
+DEPLOYDIR=$BASEDIR
+if [ ! $NUMCPU ]; then
+ NUMCPU=1 # paralell builds for some libraries
+fi
+
if [ ! -d $BASEDIR/bin ]; then
mkdir --parents $BASEDIR/bin
fi
@@ -211,13 +222,6 @@ echo "Using srcdir:" $SRCDIR
echo "Number of CPUs for parallel builds:" $NUMCPU
mkdir -p $SRCDIR $DEPLOYDIR
-export PATH=$BASEDIR/bin:$PATH
-export LD_LIBRARY_PATH=$DEPLOYDIR/lib:$DEPLOYDIR/lib64:$LD_LIBRARY_PATH
-export LD_RUN_PATH=$DEPLOYDIR/lib:$DEPLOYDIR/lib64:$LD_RUN_PATH
-echo "PATH modified temporarily"
-echo "LD_LIBRARY_PATH modified temporarily"
-echo "LD_RUN_PATH modified temporarily"
-
if [ ! "`command -v curl`" ]; then
build_curl 7.26.0
fi
@@ -227,6 +231,24 @@ if [ ! "`command -v cmake`" ]; then
build_cmake 2.8.8
fi
+# Singly build CGAL or OpenCSG
+# (Most systems have all libraries available as packages except CGAL/OpenCSG)
+# (They can be built singly here by passing a command line arg to the script)
+if [ $1 = "cgal-use-sys-libs" ]; then
+ build_cgal 4.0 use-sys-libs
+ exit
+fi
+if [ $1 = "opencsg" ]; then
+ build_opencsg 1.3.2
+ exit
+fi
+
+
+#
+# Main build of libraries
+# edit version numbers here as needed.
+#
+
build_eigen 2.0.17
build_gmp 5.0.5
build_mpfr 3.1.1
@@ -236,4 +258,4 @@ build_cgal 4.0
build_glew 1.7.0
build_opencsg 1.3.2
-echo "OpenSCAD dependencies built in " $BASEDIR
+echo "OpenSCAD dependencies built and installed to " $BASEDIR
diff --git a/scripts/setenv-linbuild.sh b/scripts/setenv-linbuild.sh
index 9719533..e77d969 100644
--- a/scripts/setenv-linbuild.sh
+++ b/scripts/setenv-linbuild.sh
@@ -1,10 +1,15 @@
-# setup env variables for building OpenSCAD against custom built
-# dependency libraries from linux-build-dependencies.sh
+# setup environment variables for building OpenSCAD against custom built
+# dependency libraries. called by linux-build-dependencies.sh
-# run this file with 'source setenv-linbuild.sh'
+# run this file with 'source setenv-linbuild.sh' every time you re-login
+# and want to build or run openscad against custom libraries installed
+# into BASEDIR.
-# BASEDIR and DEPLOYDIR must be the same as in linux-build-dependencies.sh
-BASEDIR=$HOME/openscad_deps
+# copy this file to your .bashrc if desired.
+
+if [ ! $BASEDIR ]; then
+ BASEDIR=$HOME/openscad_deps
+fi
DEPLOYDIR=$BASEDIR
export PATH=$BASEDIR/bin:$PATH
contact: Jan Huwald // Impressum