mirror of
https://github.com/RPCS3/rpcs3.git
synced 2024-11-17 08:11:51 +00:00
128 lines
4.8 KiB
YAML
128 lines
4.8 KiB
YAML
language: cpp
|
|
sudo: required
|
|
|
|
os:
|
|
- linux
|
|
#- osx
|
|
|
|
# osx_image: xcode6.4
|
|
|
|
compiler:
|
|
- clang
|
|
- gcc
|
|
|
|
cache:
|
|
ccache: true
|
|
directories:
|
|
- $HOME/hombebrew_cache
|
|
|
|
matrix:
|
|
exclude:
|
|
- os: osx
|
|
compiler: gcc
|
|
|
|
git:
|
|
depth: false # Unshallow clone to obtain proper GIT_VERSION
|
|
submodules: false
|
|
|
|
env:
|
|
- QTVER=5.10.1
|
|
|
|
before_install:
|
|
- if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$CXX" = "g++" ]; then
|
|
export CXX="g++-5" CC="gcc-5" CXXFLAGS="-Wno-format-security";
|
|
fi;
|
|
|
|
install:
|
|
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then
|
|
wget http://download.qt.io/official_releases/online_installers/qt-unified-linux-x64-online.run ;
|
|
chmod a+x ./qt-unified-linux-x64-online.run ;
|
|
QT_QPA_PLATFORM=minimal QTVER="${QTVER//.}" travis_wait 60 ./qt-unified-linux-x64-online.run --script qt-installer-noninteractive.qs --no-force-installations --verbose ;
|
|
fi;
|
|
|
|
# Install updated libglew-dev since the version provided by trusty is outdated
|
|
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then
|
|
wget https://mirrors.kernel.org/ubuntu/pool/universe/g/glew/libglew-dev_2.0.0-5_amd64.deb;
|
|
wget https://mirrors.kernel.org/ubuntu/pool/universe/g/glew/libglew2.0_2.0.0-5_amd64.deb;
|
|
wget https://mirrors.kernel.org/ubuntu/pool/universe/v/vulkan/libvulkan1_1.0.61.1+dfsg1-1ubuntu1~16.04.1_amd64.deb;
|
|
wget https://mirrors.kernel.org/ubuntu/pool/universe/v/vulkan/libvulkan-dev_1.0.61.1+dfsg1-1ubuntu1~16.04.1_amd64.deb;
|
|
sudo dpkg -i libglew2.0_2.0.0-5_amd64.deb libglew-dev_2.0.0-5_amd64.deb libvulkan1_1.0.61.1+dfsg1-1ubuntu1~16.04.1_amd64.deb libvulkan-dev_1.0.61.1+dfsg1-1ubuntu1~16.04.1_amd64.deb;
|
|
else
|
|
brew update;
|
|
brew install ccache glew llvm40;
|
|
fi;
|
|
|
|
before_script:
|
|
- git submodule update --init asmjit 3rdparty/ffmpeg 3rdparty/pugixml 3rdparty/GSL 3rdparty/libpng Utilities/yaml-cpp 3rdparty/cereal 3rdparty/hidapi 3rdparty/Optional Vulkan/glslang Vulkan/Vulkan-LoaderAndValidationLayers
|
|
- mkdir build ; cd build
|
|
- export CMAKE_PREFIX_PATH=~/Qt/${QTVER}/gcc_64/lib/cmake
|
|
- export CXXFLAGS="$CXXFLAGS -DTRAVIS=true";
|
|
- if [ "$TRAVIS_PULL_REQUEST" = false ]; then
|
|
export CXXFLAGS="$CXXFLAGS -DBRANCH=$TRAVIS_REPO_SLUG/$TRAVIS_BRANCH";
|
|
else
|
|
export CXXFLAGS="$CXXFLAGS -DBRANCH=$TRAVIS_REPO_SLUG/$TRAVIS_BRANCH/#$TRAVIS_PULL_REQUEST";
|
|
fi;
|
|
- cmake .. -DCMAKE_INSTALL_PREFIX=/usr -G Ninja;
|
|
|
|
script:
|
|
- ninja
|
|
|
|
after_script:
|
|
- cd build
|
|
- # AppImage generation
|
|
- if [ -n "$UPLOAD_URL" ] && [ "$TRAVIS_BRANCH" = "master" ] && [ "$CC" = "clang" ] && [ "$TRAVIS_PULL_REQUEST" = false ]; then
|
|
export LD_LIBRARY_PATH=~/Qt/${QTVER}/gcc_64/lib;
|
|
DESTDIR=appdir ninja install ; find appdir/ ;
|
|
find ../bin ;
|
|
wget -c "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage" ;
|
|
chmod a+x linuxdeployqt*.AppImage ;
|
|
export PATH=~/Qt/$QTVER/gcc_64/bin/:${PATH} ;
|
|
./linuxdeployqt*.AppImage --appimage-extract ;
|
|
./linuxdeployqt*.AppImage ./appdir/usr/share/applications/*.desktop -bundle-non-qt-libs ;
|
|
mkdir ./appdir/usr/plugins/xcbglintegrations/ ;
|
|
mkdir ./appdir/usr/plugins/imageformats/ ;
|
|
cp ~/Qt/$QTVER/gcc_64/lib/libQt5Svg.so.5 ./appdir/usr/lib/ ;
|
|
cp ~/Qt/$QTVER/gcc_64/plugins/xcbglintegrations/* ./appdir/usr/plugins/xcbglintegrations/ ;
|
|
cp ~/Qt/$QTVER/gcc_64/plugins/imageformats/* ./appdir/usr/plugins/imageformats/ ;
|
|
cp ~/Qt/$QTVER/gcc_64/plugins/platforms/* ./appdir/usr/plugins/platforms/ ;
|
|
rm ./appdir/usr/lib/libfreetype.so.6 ;
|
|
export PATH=${TRAVIS_BUILD_DIR}/build/squashfs-root/usr/bin/:${PATH} ;
|
|
./squashfs-root/usr/bin/appimagetool ${TRAVIS_BUILD_DIR}/build/appdir ;
|
|
find ./appdir -executable -type f -exec ldd {} \; | grep " => /usr" | cut -d " " -f 2-3 | sort | uniq ;
|
|
COMM_TAG="$(git describe --tags $(git rev-list --tags --max-count=1))" ;
|
|
COMM_COUNT="$(git rev-list --count HEAD)" ;
|
|
curl "${UPLOAD_URL}${TRAVIS_COMMIT:0:8}&t=${COMM_TAG}&a=${COMM_COUNT}" --upload-file ./RPCS3*.AppImage;
|
|
fi;
|
|
addons:
|
|
apt:
|
|
sources:
|
|
- ubuntu-toolchain-r-test
|
|
- llvm-toolchain-trusty-4.0
|
|
- sourceline: 'ppa:jonathonf/binutils' # We need to update binutils to a newer version to link against the ffmpeg libs on.
|
|
packages:
|
|
- binutils
|
|
- cmake
|
|
- ninja-build
|
|
- libasound2-dev
|
|
- libopenal-dev
|
|
- freeglut3-dev
|
|
#- libglew-dev
|
|
#- libvulkan1
|
|
#- libvulkan-dev
|
|
- libc6-dev
|
|
- llvm-4.0
|
|
- llvm-4.0-dev
|
|
# Clang 5.0 is now bundled in travis, so we no longer need the ppa version.
|
|
#- clang-4.0
|
|
- libedit-dev
|
|
- g++-5
|
|
- gcc-5
|
|
- libstdc++-5-dev
|
|
- lib32stdc++6
|
|
- zlib1g-dev
|
|
# We need to install qt 5.10.1 manually because the version trusty provides is too old.
|
|
#- qtbase5-dev
|
|
- libudev-dev
|
|
- libevdev-dev
|
|
- libpulse-dev
|