2019-11-06 09:14:31 +00:00
#!/bin/bash
2019-11-06 09:55:30 +00:00
set -e
2019-11-06 09:14:31 +00:00
SOURCE = " ${ BASH_SOURCE [0] } "
while [ -h " $SOURCE " ] ; do # resolve $SOURCE until the file is no longer a symlink
DIR = " $( cd -P " $( dirname " $SOURCE " ) " && pwd ) "
SOURCE = " $( readlink " $SOURCE " ) "
[ [ $SOURCE != /* ] ] && SOURCE = " $DIR / $SOURCE " # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
SCRIPTS_DIR = " $( cd -P " $( dirname " $SOURCE " ) " && pwd ) "
MILVUS_CORE_DIR = " ${ SCRIPTS_DIR } /../../core "
CORE_BUILD_DIR = " ${ MILVUS_CORE_DIR } /cmake_build "
BUILD_TYPE = "Debug"
BUILD_UNITTEST = "OFF"
INSTALL_PREFIX = "/opt/milvus"
BUILD_COVERAGE = "OFF"
USE_JFROG_CACHE = "OFF"
RUN_CPPLINT = "OFF"
CUDA_COMPILER = /usr/local/cuda/bin/nvcc
while getopts "o:t:b:ulcjh" arg
do
case $arg in
o)
INSTALL_PREFIX = $OPTARG
; ;
t)
BUILD_TYPE = $OPTARG # BUILD_TYPE
; ;
b)
CORE_BUILD_DIR = $OPTARG # CORE_BUILD_DIR
; ;
u)
echo "Build and run unittest cases" ;
BUILD_UNITTEST = "ON" ;
; ;
l)
RUN_CPPLINT = "ON"
; ;
c)
BUILD_COVERAGE = "ON"
; ;
j)
USE_JFROG_CACHE = "ON"
; ;
h) # help
echo "
parameter:
-o: install prefix( default: /opt/milvus)
-t: build type( default: Debug)
-b: core code build directory
-u: building unit test options( default: OFF)
-l: run cpplint, clang-format and clang-tidy( default: OFF)
-c: code coverage( default: OFF)
-j: use jfrog cache build directory( default: OFF)
-h: help
usage:
./build.sh -o \$ { INSTALL_PREFIX} -t \$ { BUILD_TYPE} -b \$ { CORE_BUILD_DIR} [ -u] [ -l] [ -c] [ -j] [ -h]
"
exit 0
; ;
?)
echo "ERROR! unknown argument"
exit 1
; ;
esac
done
if [ [ ! -d ${ CORE_BUILD_DIR } ] ] ; then
mkdir ${ CORE_BUILD_DIR }
fi
pushd ${ CORE_BUILD_DIR }
CMAKE_CMD = " cmake \
-DCMAKE_INSTALL_PREFIX= ${ INSTALL_PREFIX }
-DCMAKE_BUILD_TYPE= ${ BUILD_TYPE } \
-DCMAKE_CUDA_COMPILER= ${ CUDA_COMPILER } \
-DBUILD_UNIT_TEST= ${ BUILD_UNITTEST } \
-DBUILD_COVERAGE= ${ BUILD_COVERAGE } \
-DUSE_JFROG_CACHE= ${ USE_JFROG_CACHE } \
${ MILVUS_CORE_DIR } "
echo ${ CMAKE_CMD }
${ CMAKE_CMD }
2019-11-06 09:55:30 +00:00
# compile and build
make -j8 || exit 1
make install || exit 1