Travis: use qt5, newer boost libraries, callff, gcc/clang builds...

pull/419/head
Kyle Cooley 7 years ago
parent 715012f087
commit cf5bd0dca7

@ -1,7 +1,3 @@
os:
- linux
# - osx
osx_image: xcode8.3
language: cpp language: cpp
sudo: required sudo: required
dist: trusty dist: trusty
@ -10,6 +6,7 @@ branches:
- master - master
- coverity_scan - coverity_scan
- /openmw-.*$/ - /openmw-.*$/
- /^[0-9]+\.[0-9]+\.[0-9]+.*$/
env: env:
global: global:
# The next declaration is the encrypted COVERITY_SCAN_TOKEN, created # The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
@ -20,22 +17,25 @@ addons:
apt: apt:
sources: sources:
- sourceline: 'ppa:openmw/openmw' - sourceline: 'ppa:openmw/openmw'
- sourceline: 'ppa:rakhimov/boost'
- ubuntu-toolchain-r-test - ubuntu-toolchain-r-test
- llvm-toolchain-precise-3.6 - llvm-toolchain-precise-3.8
packages: [ packages: [
# Dev # Dev
cmake, clang-3.6, libunshield-dev, libtinyxml-dev, cmake, clang-3.8, libunshield-dev, libtinyxml-dev,
g++-6, g++-6,
# Tests # Tests
libgtest-dev, google-mock, libgtest-dev, google-mock,
# Boost # Boost
libboost-filesystem-dev, libboost-program-options-dev, libboost-system-dev, libboost-filesystem1.61-dev, libboost-program-options1.61-dev, libboost-system1.61-dev,
# FFmpeg # FFmpeg
libavcodec-dev, libavformat-dev, libavutil-dev, libswscale-dev, libavcodec-dev, libavformat-dev, libavutil-dev, libswscale-dev,
# Audio & Video # Audio & Video
libsdl2-dev, qtbase5-dev, libopenal-dev, libsdl2-dev, qtbase5-dev, libopenal-dev,
# The other ones from OpenMW ppa # The other ones from OpenMW ppa
libbullet-dev, libswresample-dev, libopenscenegraph-3.4-dev, libmygui-dev libbullet-dev, libswresample-dev, libopenscenegraph-3.4-dev, libmygui-dev,
# tes3mp stuff
libboost1.61-dev, libqt5opengl5-dev
] ]
coverity_scan: coverity_scan:
@ -50,10 +50,19 @@ matrix:
include: include:
- os: linux - os: linux
env: env:
ANALYZE="scan-build-3.6 --use-cc clang-3.6 --use-c++ clang++-3.6 " - ANALYZE="scan-build-3.8 --use-cc clang-3.8 --use-c++ clang++-3.8 "
- MATRIX_CC="CC=clang-3.8 && CXX=clang++-3.8"
compiler: clang compiler: clang
- os: linux
env:
- MATRIX_CC="CC=gcc-6 && CXX=g++-6"
- os: linux
env:
- MATRIX_CC="CC=clang-3.8 && CXX=clang++-3.8"
allow_failures: allow_failures:
- env: ANALYZE="scan-build-3.6 --use-cc clang-3.6 --use-c++ clang++-3.6 " - env:
- ANALYZE="scan-build-3.8 --use-cc clang-3.8 --use-c++ clang++-3.8 "
- MATRIX_CC="CC=clang-3.8 && CXX=clang++-3.8"
before_install: before_install:
- ./CI/before_install.${TRAVIS_OS_NAME}.sh - ./CI/before_install.${TRAVIS_OS_NAME}.sh

@ -1,7 +1,10 @@
#!/bin/sh #!/bin/sh
echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca- echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-
sudo ln -s /usr/bin/clang-3.6 /usr/local/bin/clang
sudo ln -s /usr/bin/clang++-3.6 /usr/local/bin/clang++ # Set up compilers
if [ ! -z "${MATRIX_CC}" ]; then
eval "${MATRIX_CC}"
fi
# build libgtest & libgtest_main # build libgtest & libgtest_main
sudo mkdir /usr/src/gtest/build sudo mkdir /usr/src/gtest/build
@ -15,10 +18,16 @@ cd ~/
git clone https://github.com/TES3MP/RakNet git clone https://github.com/TES3MP/RakNet
cd RakNet cd RakNet
cmake . -DRAKNET_ENABLE_DLL=OFF -DRAKNET_ENABLE_SAMPLES=OFF -DCMAKE_BUILD_TYPE=Release cmake . -DRAKNET_ENABLE_DLL=OFF -DRAKNET_ENABLE_SAMPLES=OFF -DCMAKE_BUILD_TYPE=Release
mkdir ./lib make -j3
make -j3 install
cp ./Lib/RakNetLibStatic/libRakNetLibStatic.a ./lib cd ~/
cd .. git clone https://github.com/Koncord/CallFF
cd CallFF
mkdir build
cd build
cmake ../
make -j3
cd ~/
wget https://github.com/zdevito/terra/releases/download/release-2016-03-25/terra-Linux-x86_64-332a506.zip wget https://github.com/zdevito/terra/releases/download/release-2016-03-25/terra-Linux-x86_64-332a506.zip
unzip terra-Linux-x86_64-332a506.zip unzip terra-Linux-x86_64-332a506.zip

@ -3,15 +3,40 @@
free -m free -m
mkdir build mkdir build
cd build cd build
export CODE_COVERAGE=1
# Set up compilers
if [ ! -z "${MATRIX_CC}" ]; then
eval "${MATRIX_CC}"
fi
export RAKNET_ROOT=~/RakNet export RAKNET_ROOT=~/RakNet
export Terra_ROOT=~/terra-Linux-x86_64-332a506 export Terra_ROOT=~/terra-Linux-x86_64-332a506
export BUILD_SERVER=OFF
if [ "${CC}" = "clang" ]; then export CODE_COVERAGE=0; export CODE_COVERAGE=0
else if [ ! -z "${ANALYZE}" ]; then
export COMPILER_NAME=gcc CODE_COVERAGE=1
export CXX=g++-6
export CC=gcc-6
export BUILD_SERVER=ON
fi fi
${ANALYZE}cmake .. -DBUILD_OPENMW_MP=${BUILD_SERVER} -DBUILD_WITH_CODE_COVERAGE=${CODE_COVERAGE} -DBUILD_BSATOOL=OFF -DBUILD_ESMTOOL=OFF -DBUILD_ESSIMPORTER=OFF -DBUILD_LAUNCHER=OFF -DBUILD_MWINIIMPORTER=OFF -DBUILD_MYGUI_PLUGIN=OFF -DBUILD_OPENCS=OFF -DBUILD_WIZARD=OFF -DBUILD_BROWSER=OFF -DBUILD_UNITTESTS=1 -DCMAKE_INSTALL_PREFIX=/usr -DBINDIR=/usr/games -DCMAKE_BUILD_TYPE="None" -DUSE_SYSTEM_TINYXML=TRUE -DRakNet_LIBRARY_RELEASE=~/RakNet/lib/libRakNetLibStatic.a -DRakNet_LIBRARY_DEBUG=~/RakNet/lib/libRakNetLibStatic.a
${ANALYZE}cmake .. \
-DDESIRED_QT_VERSION=5 \
-DBUILD_OPENMW_MP=ON \
-DBUILD_BROWSER=ON \
-DBUILD_MASTER=ON \
-DBUILD_WITH_CODE_COVERAGE=${CODE_COVERAGE} \
-DBUILD_BSATOOL=OFF \
-DBUILD_ESMTOOL=OFF \
-DBUILD_ESSIMPORTER=OFF \
-DBUILD_LAUNCHER=OFF \
-DBUILD_MWINIIMPORTER=OFF \
-DBUILD_MYGUI_PLUGIN=OFF \
-DBUILD_OPENCS=OFF \
-DBUILD_WIZARD=OFF \
-DBUILD_UNITTESTS=1 \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBINDIR=/usr/games \
-DCMAKE_BUILD_TYPE="None" \
-DUSE_SYSTEM_TINYXML=TRUE \
-DRakNet_LIBRARY_RELEASE=~/RakNet/lib/libRakNetLibStatic.a \
-DRakNet_LIBRARY_DEBUG=~/RakNet/lib/libRakNetLibStatic.a \
-DCallFF_INCLUDES=~/CallFF/include \
-DCallFF_LIBRARY=~/CallFF/build/src/libcallff.a

Loading…
Cancel
Save