mirror of
				https://git.suyu.dev/suyu/suyu.git
				synced 2025-11-04 12:34:39 +08:00 
			
		
		
		
	Merge pull request #2869 from j-selby/docker-build
Travis: Use Docker to build for Linux
This commit is contained in:
		
						commit
						8fd28244e4
					
				
							
								
								
									
										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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user