diff options
Diffstat (limited to 'do_cmake.sh')
-rwxr-xr-x | do_cmake.sh | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/do_cmake.sh b/do_cmake.sh new file mode 100755 index 00000000..ab8f5c8c --- /dev/null +++ b/do_cmake.sh @@ -0,0 +1,71 @@ +#!/usr/bin/env bash +set -x +git submodule update --init --recursive +if test -e build; then + echo 'build dir already exists; rm -rf build and re-run' + exit 1 +fi + +PYBUILD="2" +if [ -r /etc/os-release ]; then + source /etc/os-release + case "$ID" in + fedora) + if [ "$VERSION_ID" -ge "29" ] ; then + PYBUILD="3" + fi + ;; + rhel|centos) + MAJOR_VER=$(echo "$VERSION_ID" | sed -e 's/\..*$//') + if [ "$MAJOR_VER" -ge "8" ] ; then + PYBUILD="3" + fi + ;; + opensuse*|suse|sles) + PYBUILD="3" + ARGS+=" -DWITH_RADOSGW_AMQP_ENDPOINT=OFF" + ARGS+=" -DWITH_RADOSGW_KAFKA_ENDPOINT=OFF" + ;; + esac +elif [ "$(uname)" == FreeBSD ] ; then + PYBUILD="3" + ARGS+=" -DWITH_RADOSGW_AMQP_ENDPOINT=OFF" + ARGS+=" -DWITH_RADOSGW_KAFKA_ENDPOINT=OFF" +else + echo Unknown release + exit 1 +fi + +if [ "$PYBUILD" = "3" ] ; then + ARGS+=" -DWITH_PYTHON2=OFF -DWITH_PYTHON3=ON -DMGR_PYTHON_VERSION=3" +fi + +if type ccache > /dev/null 2>&1 ; then + echo "enabling ccache" + ARGS+=" -DWITH_CCACHE=ON" +fi + +mkdir build +cd build +if type cmake3 > /dev/null 2>&1 ; then + CMAKE=cmake3 +else + CMAKE=cmake +fi +${CMAKE} -DCMAKE_BUILD_TYPE=Debug $ARGS "$@" .. || exit 1 + +# minimal config to find plugins +cat <<EOF > ceph.conf +plugin dir = lib +erasure code dir = lib +EOF + +echo done. +cat <<EOF + +**** +WARNING: do_cmake.sh now creates debug builds by default. Performance +may be severely affected. Please use -DCMAKE_BUILD_TYPE=RelWithDebInfo +if a performance sensitive build is required. +**** +EOF |