134 lines
3.9 KiB
Bash
Executable File
134 lines
3.9 KiB
Bash
Executable File
#!/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 ../
|