summaryrefslogtreecommitdiffstats
path: root/do_cmake.sh
blob: 4746be3f130ce010d26403e40bc4d7a91aa748d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/bin/sh -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"
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"
        ;;
esac
if [ "$PYBUILD" = "3" ] ; then
    ARGS="$ARGS -DWITH_PYTHON2=OFF -DWITH_PYTHON3=ON -DMGR_PYTHON_VERSION=3"
fi

if type ccache > /dev/null 2>&1 ; then
    echo "enabling ccache"
    ARGS="$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