#!/bin/bash CMAKE_COMMAND=$1 CMAKE_GENERATOR=$2 CMAKE_CXX_COMPILER=$3 CMAKE_C_COMPILER=$4 CMAKE_PREFIX_PATH=$5 CMAKE_RPATH=$6 CMAKE_INSTALL_PREFIX=$7 CMAKE_BUILD_TYPE=$8 echo "CMAKE prefix path in script: ${CMAKE_PREFIX_PATH}" if [ ! -d ${CMAKE_INSTALL_PREFIX} ]; then mkdir -p ${CMAKE_INSTALL_PREFIX} fi # clone all if [ ! -d sqlpp11/.git ]; then git clone -b develop --depth=1 https://github.com/rbock/sqlpp11.git else cd sqlpp11; git pull; cd ../ fi if [ ! -d sqlpp11-connector-postgresql/.git ]; then git clone -b develop --depth=1 https://github.com/matthijs/sqlpp11-connector-postgresql.git else cd sqlpp11-connector-postgresql; git pull; cd ../ fi if [ ! -d wt/.git ]; then git clone --depth=1 https://github.com/emweb/wt.git else cd wt; git pull; cd ../ fi if [ ! -d ChaiScript/.git ]; then git clone -b develop --depth=1 https://github.com/ChaiScript/ChaiScript.git else cd ChaiScript; git pull; cd ../ fi # install all echo "building sqlpp11" mkdir sqlpp11-build -p; cd sqlpp11-build ${CMAKE_COMMAND} -G"${CMAKE_GENERATOR}" ../sqlpp11\ -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}\ -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}\ -DCMAKE_INSTALL_PREFIX="${CMAKE_INSTALL_PREFIX}"\ -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}"\ -DENABLE_TESTS=FALSE ${CMAKE_COMMAND} --build . --target install cd ../ echo "building sqlpp11-connector-postgresql" mkdir sqlpp11-connector-postgresql-build -p; cd sqlpp11-connector-postgresql-build ${CMAKE_COMMAND} -G"${CMAKE_GENERATOR}" ../sqlpp11-connector-postgresql\ -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}\ -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}\ -DCMAKE_INSTALL_PREFIX="${CMAKE_INSTALL_PREFIX}"\ -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}"\ -DCMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE}"\ -DENABLE_TESTS=FALSE ${CMAKE_COMMAND} --build . --target install cd ../ echo "building wt" echo "fixing boost library names" ( cd "${CMAKE_RPATH}" files="libboost_*.so.*" regex="libboost_([a-z_]*-mt(-d)?).*.so*" for f in $files # unquoted in order to allow the glob to expand do if [[ $f =~ $regex ]] then libname="${BASH_REMATCH[1]}" linkname="libboost_${libname}.so" if [ ! -e ${linkname} ]; then echo "Linking ${f} as libboost_${libname}.so" ln -s "${f}" "libboost_${libname}.so" # same thing stored in a variable fi else echo "$f doesn't match" >&2 # this could get noisy if there are a lot of non-matching files fi done ) mkdir wt-build -p; cd wt-build ${CMAKE_COMMAND} -G"${CMAKE_GENERATOR}" \ ../wt\ -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}\ -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}\ -DCMAKE_INSTALL_PREFIX="${CMAKE_INSTALL_PREFIX}"\ -DCMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE}"\ -DCMAKE_INSTALL_RPATH="${CMAKE_RPATH}"\ -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}"\ -DBUILD_EXAMPLES=OFF\ -DINSTALL_RESOURCES=ON\ -DENABLE_SSL=OFF\ -DENABLE_HARU=OFF\ -DENABLE_PANGO=OFF\ -DENABLE_SQLITE=OFF\ -DENABLE_POSTGRES=OFF\ -DENABLE_FIREBIRD=OFF\ -DENABLE_MYSQL=OFF\ -DENABLE_MSSQLSERVER=OFF\ -DENABLE_LIBWTDBO=TRUE\ -DENABLE_QT4=OFF\ -DENABLE_OPENGL=OFF\ -DENABLE_UNWIND=OFF\ -DCONNECTOR_FCGI=OFF ${CMAKE_COMMAND} --build . --target install cd ../ echo "building ChaiScript" mkdir ChaiScript-build -p; cd ChaiScript-build ${CMAKE_COMMAND} -G"${CMAKE_GENERATOR}" ../ChaiScript\ -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}\ -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}\ -DCMAKE_INSTALL_PREFIX="${CMAKE_INSTALL_PREFIX}"\ -DCMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE}"\ -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}"\ -DMULTITHREAD_SUPPORT_ENABLED=TRUE\ -DDYNLOAD_ENABLED=FALSE\ -DBUILD_MODULES=TRUE\ -DBUILD_SAMPLES=FALSE\ -DRUN_FUZZY_TESTS=FALSE\ -DUSE_STD_MAKE_SHARED=TRUE\ -DRUN_PERFORMANCE_TESTS=FALSE ${CMAKE_COMMAND} --build . --target install -- -j$(expr $(nproc) / 2) cd ../