forked from pmem/pmemkv
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall-libpmemobj-cpp.sh
More file actions
executable file
·52 lines (40 loc) · 1.26 KB
/
Copy pathinstall-libpmemobj-cpp.sh
File metadata and controls
executable file
·52 lines (40 loc) · 1.26 KB
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
#!/usr/bin/env bash
# SPDX-License-Identifier: BSD-3-Clause
# Copyright 2019-2021, Intel Corporation
#
# install-libpmemobj-cpp.sh [package_type]
# - installs PMDK C++ bindings (libpmemobj-cpp)
#
set -e
if [ "${SKIP_LIBPMEMOBJCPP_BUILD}" ]; then
echo "Variable 'SKIP_LIBPMEMOBJCPP_BUILD' is set; skipping building libpmemobj-cpp"
exit
fi
PREFIX="/usr"
PACKAGE_TYPE=${1^^} #To uppercase
echo "PACKAGE_TYPE: ${PACKAGE_TYPE}"
# common: 1.13.0 release
LIBPMEMOBJ_CPP_VERSION="9599f724d4edc3a3d973bac14eeebdc1bc31d327"
echo "LIBPMEMOBJ_CPP_VERSION: ${LIBPMEMOBJ_CPP_VERSION}"
build_dir=$(mktemp -d -t libpmemobj-cpp-XXX)
git clone https://github.com/pmem/libpmemobj-cpp --shallow-since=2020-06-01 ${build_dir}
pushd ${build_dir}
git checkout ${LIBPMEMOBJ_CPP_VERSION}
mkdir build
cd build
# turn off all redundant components
cmake .. -DCPACK_GENERATOR="${PACKAGE_TYPE}" -DCMAKE_INSTALL_PREFIX=${PREFIX} \
-DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF -DBUILD_DOC=OFF -DBUILD_BENCHMARKS=OFF \
-DTESTS_USE_VALGRIND=OFF
if [ "${PACKAGE_TYPE}" = "" ]; then
make -j$(nproc) install
else
make -j$(nproc) package
if [ "${PACKAGE_TYPE}" = "DEB" ]; then
sudo dpkg -i libpmemobj++*.deb
elif [ "${PACKAGE_TYPE}" = "RPM" ]; then
sudo rpm -iv libpmemobj++*.rpm
fi
fi
popd
rm -r ${build_dir}