]> git.proxmox.com Git - libgit2.git/blob - ci/coverity-build.sh
New upstream version 0.28.4+dfsg.1
[libgit2.git] / ci / coverity-build.sh
1 #!/bin/bash
2
3 set -e
4
5 # Environment check
6 [ -z "$COVERITY_TOKEN" ] && echo "Need to set a coverity token" && exit 1
7
8 SOURCE_DIR=${SOURCE_DIR:-$( cd "$( dirname "${BASH_SOURCE[0]}" )" && dirname $( pwd ) )}
9 BUILD_DIR=$(pwd)
10
11 case $(uname -m) in
12 i?86) BITS=32 ;;
13 amd64|x86_64) BITS=64 ;;
14 esac
15 SCAN_TOOL=https://scan.coverity.com/download/cxx/linux${BITS}
16 TOOL_BASE=$(pwd)/_coverity-scan
17
18 # Install coverity tools
19 if [ ! -d "$TOOL_BASE" ]; then
20 echo "Downloading coverity..."
21 mkdir -p "$TOOL_BASE"
22 pushd "$TOOL_BASE"
23 wget -O coverity_tool.tgz $SCAN_TOOL \
24 --post-data "project=libgit2&token=$COVERITY_TOKEN"
25 tar xzf coverity_tool.tgz
26 popd
27 TOOL_DIR=$(find "$TOOL_BASE" -type d -name 'cov-analysis*')
28 ln -s "$TOOL_DIR" "$TOOL_BASE"/cov-analysis
29 fi
30
31 cp "${SOURCE_DIR}/script/user_nodefs.h" "$TOOL_BASE"/cov-analysis/config/user_nodefs.h
32
33 COV_BUILD="$TOOL_BASE/cov-analysis/bin/cov-build"
34
35 # Configure and build
36 cmake ${SOURCE_DIR}
37
38 COVERITY_UNSUPPORTED=1 \
39 $COV_BUILD --dir cov-int \
40 cmake --build .
41