forked from suyu/suyu
Merge pull request #2869 from j-selby/docker-build
Travis: Use Docker to build for Linux
This commit is contained in:
commit
8fd28244e4
4 changed files with 26 additions and 50 deletions
20
.travis-build-docker.sh
Normal file
20
.travis-build-docker.sh
Normal file
|
@ -0,0 +1,20 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
set -x
|
||||
|
||||
cd /citra
|
||||
|
||||
apt-get update
|
||||
apt-get install -y build-essential libsdl2-dev qtbase5-dev libqt5opengl5-dev libcurl4-openssl-dev libssl-dev wget git
|
||||
|
||||
# Get a recent version of CMake
|
||||
wget https://cmake.org/files/v3.9/cmake-3.9.0-Linux-x86_64.sh
|
||||
echo y | sh cmake-3.9.0-Linux-x86_64.sh --prefix=cmake
|
||||
export PATH=/citra/cmake/cmake-3.9.0-Linux-x86_64/bin:$PATH
|
||||
|
||||
mkdir build && cd build
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Release
|
||||
make -j4
|
||||
|
||||
ctest -VV -C Release
|
|
@ -44,15 +44,7 @@ fi
|
|||
|
||||
#if OS is linux or is not set
|
||||
if [ "$TRAVIS_OS_NAME" = "linux" -o -z "$TRAVIS_OS_NAME" ]; then
|
||||
export CC=gcc-6
|
||||
export CXX=g++-6
|
||||
export PKG_CONFIG_PATH=$HOME/.local/lib/pkgconfig:$PKG_CONFIG_PATH
|
||||
|
||||
mkdir build && cd build
|
||||
cmake ..
|
||||
make -j4
|
||||
|
||||
ctest -VV -C Release
|
||||
docker run -v $(pwd):/citra ubuntu:16.04 /bin/bash /citra/.travis-build-docker.sh
|
||||
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
||||
set -o pipefail
|
||||
|
||||
|
|
|
@ -5,35 +5,7 @@ set -x
|
|||
|
||||
#if OS is linux or is not set
|
||||
if [ "$TRAVIS_OS_NAME" = "linux" -o -z "$TRAVIS_OS_NAME" ]; then
|
||||
export CC=gcc-6
|
||||
export CXX=g++-6
|
||||
mkdir -p $HOME/.local
|
||||
|
||||
if [ ! -e $HOME/.local/bin/cmake ]; then
|
||||
echo "CMake not found in the cache, get and extract it..."
|
||||
curl -L http://www.cmake.org/files/v3.6/cmake-3.6.3-Linux-x86_64.tar.gz \
|
||||
| tar -xz -C $HOME/.local --strip-components=1
|
||||
else
|
||||
echo "Using cached CMake"
|
||||
fi
|
||||
|
||||
if [ ! -e $HOME/.local/lib/libSDL2.la ]; then
|
||||
echo "SDL2 not found in cache, get and build it..."
|
||||
wget http://libsdl.org/release/SDL2-2.0.5.tar.gz -O - | tar xz
|
||||
cd SDL2-2.0.5
|
||||
./configure --prefix=$HOME/.local
|
||||
make -j4 && make install
|
||||
else
|
||||
echo "Using cached SDL2"
|
||||
fi
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
# Amazing placebo security
|
||||
curl http://apt.llvm.org/llvm-snapshot.gpg.key | sudo -E apt-key add -
|
||||
sudo -E add-apt-repository "deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-3.9 main"
|
||||
sudo -E apt-get -yq update
|
||||
sudo -E apt-get -yq install clang-format-3.9
|
||||
|
||||
docker pull ubuntu:16.04
|
||||
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
||||
brew update
|
||||
brew install qt5 sdl2 dylibbundler p7zip
|
||||
|
|
16
.travis.yml
16
.travis.yml
|
@ -8,23 +8,15 @@ matrix:
|
|||
sudo: false
|
||||
osx_image: xcode7.3
|
||||
|
||||
services:
|
||||
- docker
|
||||
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gcc-6
|
||||
- g++-6
|
||||
- qt5-default
|
||||
- libqt5opengl5-dev
|
||||
- xorg-dev
|
||||
- lib32stdc++6 # For CMake
|
||||
- clang-format-3.9
|
||||
- p7zip-full
|
||||
|
||||
cache:
|
||||
directories:
|
||||
- "$HOME/.local"
|
||||
|
||||
install: "./.travis-deps.sh"
|
||||
script: "./.travis-build.sh"
|
||||
after_success: "./.travis-upload.sh"
|
||||
|
|
Loading…
Reference in a new issue