From a65d09cbdab70b3bd639054f41b838789c497837 Mon Sep 17 00:00:00 2001 From: Raphael Defosseux <raphael.defosseux@eurecom.fr> Date: Wed, 22 May 2019 12:08:42 +0200 Subject: [PATCH] CI: adding support to build for coverity-scan Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr> --- cmake_targets/build_oai | 24 ++++++++++++++++++++++-- cmake_targets/tools/build_helper | 9 +++++++-- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/cmake_targets/build_oai b/cmake_targets/build_oai index a7ceb48758f..13c42424a49 100755 --- a/cmake_targets/build_oai +++ b/cmake_targets/build_oai @@ -58,6 +58,7 @@ CFLAGS_PROCESSOR_USER="" RUN_GROUP=0 TEST_CASE_GROUP="" BUILD_DOXYGEN=0 +BUILD_COVERITY_SCAN=0 T_TRACER="True" DISABLE_HARDWARE_DEPENDENCY="False" CMAKE_BUILD_TYPE="" @@ -128,6 +129,8 @@ Options Manually Add CFLAGS of processor if they are not detected correctly by script. Only add these flags if you know your processor supports them. Example flags: -msse3 -msse4.1 -msse4.2 -mavx2 --build-doxygen Builds doxygen based documentation. +--build-coverity-scan + Builds Coverity-Scan objects for upload --disable-deadline Disables deadline scheduler of Linux kernel (>=3.14.x). --enable-deadline @@ -277,6 +280,10 @@ function main() { BUILD_DOXYGEN=1 echo_info "Will build doxygen support" shift;; + --build-coverity-scan) + BUILD_COVERITY_SCAN=1 + echo_info "Will build Coverity-Scan objects for upload" + shift;; --disable-deadline) FORCE_DEADLINE_SCHEDULER_FLAG_USER="False" echo_info "Disabling the usage of deadline scheduler" @@ -307,7 +314,7 @@ function main() { shift 1;; --ue-timing) UE_TIMING_TRACE="True" - x echo_info "Enabling UE timing trace" + echo_info "Enabling UE timing trace" shift 1;; --uhd-images-dir) UHD_IMAGES_DIR=$2 @@ -345,7 +352,20 @@ function main() { break;; esac done - + + ######################################################### + # check if cov-build is installed + ######################################################### + if [ "$BUILD_COVERITY_SCAN" == "1" ] ; then + echo_info "Checking cov-build is installed" + IS_INSTALLED=`which cov-build | grep -c cov-build || true` + if [ $IS_INSTALLED -eq 1 ] ; then + echo_info "Found cov-build" + else + echo_fatal "Did NOT find cov-build in PATH!" + fi + fi + CMAKE_CMD="$CMAKE_CMD .." echo_info "CMAKE_CMD=$CMAKE_CMD" ######################################################### diff --git a/cmake_targets/tools/build_helper b/cmake_targets/tools/build_helper index 0021b673f2b..70fc28f825f 100755 --- a/cmake_targets/tools/build_helper +++ b/cmake_targets/tools/build_helper @@ -177,10 +177,15 @@ compilations() { set +e { rm -f $3 + if [ "$BUILD_COVERITY_SCAN" == "1" ]; then + COV_SCAN_PREFIX="cov-build --dir cov-int" + else + COV_SCAN_PREFIX="" + fi if [ "$VERBOSE_COMPILE" == "1" ]; then - make -j`nproc` $2 VERBOSE=$VERBOSE_COMPILE + $COV_SCAN_PREFIX make -j`nproc` $2 VERBOSE=$VERBOSE_COMPILE else - make -j`nproc` $2 + $COV_SCAN_PREFIX make -j`nproc` $2 fi } > $dlog/$2.$REL.txt 2>&1 -- GitLab