]> git.proxmox.com Git - ceph.git/blame - ceph/do_cmake.sh
bump version to 15.2.10-pve1
[ceph.git] / ceph / do_cmake.sh
CommitLineData
81eedcae 1#!/usr/bin/env bash
9f95a23c
TL
2set -ex
3
7c673cae 4git submodule update --init --recursive
9f95a23c
TL
5
6: ${BUILD_DIR:=build}
7: ${CEPH_GIT_DIR:=..}
8
9if [ -e $BUILD_DIR ]; then
10 echo "'$BUILD_DIR' dir already exists; either rm -rf '$BUILD_DIR' and re-run, or set BUILD_DIR env var to a different directory name"
7c673cae
FG
11 exit 1
12fi
31f18b77 13
11fdf7f2 14PYBUILD="2"
9f95a23c
TL
15if [ -r /etc/os-release ]; then
16 source /etc/os-release
17 case "$ID" in
18 fedora)
19 PYBUILD="3.7"
adb31ebb 20 if [ "$VERSION_ID" -eq "32" ] ; then
9f95a23c 21 PYBUILD="3.8"
adb31ebb
TL
22 elif [ "$VERSION_ID" -ge "33" ] ; then
23 PYBUILD="3.9"
9f95a23c
TL
24 fi
25 ;;
26 rhel|centos)
27 MAJOR_VER=$(echo "$VERSION_ID" | sed -e 's/\..*$//')
28 if [ "$MAJOR_VER" -ge "8" ] ; then
29 PYBUILD="3.6"
30 fi
31 ;;
32 opensuse*|suse|sles)
33 PYBUILD="3"
34 ARGS+=" -DWITH_RADOSGW_AMQP_ENDPOINT=OFF"
35 ARGS+=" -DWITH_RADOSGW_KAFKA_ENDPOINT=OFF"
36 ;;
37 esac
38elif [ "$(uname)" == FreeBSD ] ; then
39 PYBUILD="3"
40 ARGS+=" -DWITH_RADOSGW_AMQP_ENDPOINT=OFF"
41 ARGS+=" -DWITH_RADOSGW_KAFKA_ENDPOINT=OFF"
42else
43 echo Unknown release
44 exit 1
45fi
46
47if [[ "$PYBUILD" =~ ^3(\..*)?$ ]] ; then
48 ARGS+=" -DWITH_PYTHON3=${PYBUILD}"
11fdf7f2
TL
49fi
50
51if type ccache > /dev/null 2>&1 ; then
31f18b77 52 echo "enabling ccache"
9f95a23c 53 ARGS+=" -DWITH_CCACHE=ON"
11fdf7f2 54fi
31f18b77 55
9f95a23c
TL
56mkdir $BUILD_DIR
57cd $BUILD_DIR
11fdf7f2
TL
58if type cmake3 > /dev/null 2>&1 ; then
59 CMAKE=cmake3
60else
61 CMAKE=cmake
62fi
9f95a23c
TL
63${CMAKE} $ARGS "$@" $CEPH_GIT_DIR || exit 1
64set +x
7c673cae
FG
65
66# minimal config to find plugins
67cat <<EOF > ceph.conf
9f95a23c 68[global]
7c673cae
FG
69plugin dir = lib
70erasure code dir = lib
71EOF
72
7c673cae 73echo done.
9f95a23c
TL
74
75if [[ ! $ARGS =~ "-DCMAKE_BUILD_TYPE" ]]; then
76 cat <<EOF
11fdf7f2
TL
77
78****
79WARNING: do_cmake.sh now creates debug builds by default. Performance
80may be severely affected. Please use -DCMAKE_BUILD_TYPE=RelWithDebInfo
81if a performance sensitive build is required.
82****
83EOF
9f95a23c
TL
84fi
85