From 09fb20182a727b9b0959cafb2ed2b6cb845adac3 Mon Sep 17 00:00:00 2001 From: Tom Reynolds Date: Sun, 8 Dec 2013 23:00:25 +0100 Subject: [PATCH] - Enable clang builds for Travis CI - build-mg.sh: Switch to clang build if CC and CXX env vars both contain 'clang' --- .travis.yml | 3 ++- build-mg.sh | 17 ++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index e22ba6c1..ee00496e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,10 @@ language: cpp compiler: - gcc -# - clang + - clang before_install: - sudo apt-get update -qq # UPDATE REPOS + - sudo apt-cache policy - sudo mk/linux/setupBuildDeps.sh --quiet # INSTALL DEPENDENCIES HERE script: # ALL THE BUILD COMMANDS HERE diff --git a/build-mg.sh b/build-mg.sh index f8147921..24392ad4 100755 --- a/build-mg.sh +++ b/build-mg.sh @@ -7,6 +7,7 @@ # to enable clang compilation: # 1. sudo apt-get install clang # 2. Set the two vars below, WANT_CLANG=YES and CLANG_BIN_PATH= +# OR: set both the CC and CXX environment variables to point to clang and clang++ respectively WANT_CLANG=NO CLANG_BIN_PATH=/usr/bin/ @@ -117,10 +118,24 @@ esac CURRENTDIR="$(dirname $(readlink -f $0))" -if [ "$WANT_CLANG" = 'YES' ]; then +if [ "$WANT_CLANG" = 'YES' -o "`echo $CXX | grep -Fq 'clang'`" = 'clang' ]; then EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DCMAKE_C_COMPILER=${CLANG_BIN_PATH}clang -DCMAKE_CXX_COMPILER=${CLANG_BIN_PATH}clang++" echo "USER WANTS to use CLANG / LLVM compiler! EXTRA_CMAKE_OPTIONS = ${EXTRA_CMAKE_OPTIONS}" #exit 1; +elif [ "`echo $CC | grep -Fq 'clang'`" = 'clang' -a "`echo $CXX | grep -Fq 'clang'`" = 'clang' ]; then + if [ `echo $CC | grep -Fq '/'` = '/' ]; then + CLANG_CC=$CC + else + CLANG_CC=`which $CC` + fi + if [ `echo $CXX | grep -Fq '/'` = '/' ]; then + CLANG_CXX=$CXX + else + CLANG_CXX=`which $CXX` + fi + EXTRA_CMAKE_OPTIONS="${EXTRA_CMAKE_OPTIONS} -DCMAKE_C_COMPILER=${CLANG_CC} -DCMAKE_CXX_COMPILER=${CLANG_CXX}" + echo "USER WANTS to use CLANG / LLVM compiler! EXTRA_CMAKE_OPTIONS = ${EXTRA_CMAKE_OPTIONS}" +#exit 1; fi echo "Calling cmake with EXTRA_CMAKE_OPTIONS = ${EXTRA_CMAKE_OPTIONS}"