language: cpp sudo: required dist: trusty os: - linux #- osx # osx_image: xcode6.4 compiler: - clang - gcc cache: ccache: true directories: - $HOME/hombebrew_cache env: global: - secure: BXyNziNYFLqLtY6Q58BDEUpRJr81HUtHpxf2Sr646bDcbG0Rf2rb2utqHZJ1Om926WdH7RqHuoVti4dr2X1lh4nHMkLD7MrIrfIkNN5T9aZdk19uw9IyMtz/cXon7/wqVo24tVqtBI0UghFxKii/GTDJEvRKgfpPp1e1vKSNGa4= # Which Travis environment to run Coverity on - coverity_scan_run_condition='"$TRAVIS_OS_NAME" = linux -a "$CC" = gcc' # Test mode is for testing if it's working with Coverity. Change to true if testing, to avoid reaching the quota. - coverity_scan_script_test_mode=false matrix: exclude: - os: osx compiler: gcc include: - os: linux compiler: clang env: WITHOUT_LLVM="yes" git: submodules: false before_install: - if [ "$CC" = "clang" ]; then export CXX="clang++-4.0" CC="clang-4.0"; fi; - if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$CXX" = "g++" ]; then export CXX="g++-5" CC="gcc-5" CXXFLAGS="-Wno-format-security"; export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'; fi; - if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo add-apt-repository ppa:beineri/opt-qt59-trusty -y; sudo apt-get update; sudo apt-get install qt59base -y --allow-unauthenticated; fi; # Add coverall for C++ so coverall.io could be triggered. Even it should be --coverage and gcov. # Install updated libglew-dev since the version provided by trusty is outdated - if [ "$TRAVIS_OS_NAME" = "linux" ]; then pip install --user cpp-coveralls requests[security]; wget http://mirrors.kernel.org/ubuntu/pool/main/g/glew/libglew-dev_1.13.0-2_amd64.deb; wget http://mirrors.kernel.org/ubuntu/pool/main/g/glew/libglew1.13_1.13.0-2_amd64.deb; wget http://mirrors.kernel.org/ubuntu/pool/universe/v/vulkan/libvulkan-dev_1.0.21.0+dfsg1-1~16.04.1_amd64.deb; wget http://mirrors.kernel.org/ubuntu/pool/universe/v/vulkan/libvulkan1_1.0.21.0+dfsg1-1~16.04.1_amd64.deb; sudo dpkg -i libglew1.13_1.13.0-2_amd64.deb libglew-dev_1.13.0-2_amd64.deb libvulkan1_1.0.21.0+dfsg1-1~16.04.1_amd64.deb libvulkan-dev_1.0.21.0+dfsg1-1~16.04.1_amd64.deb; else brew update; 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 Vulkan/glslang Vulkan/Vulkan-LoaderAndValidationLayers - source /opt/qt59/bin/qt59-env.sh - mkdir build - cd build - if [ -z "$WITHOUT_LLVM" ]; then cmake .. -DCMAKE_INSTALL_PREFIX=/usr; else cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DWITHOUT_LLVM=ON; fi; - make -j 3 - # AppImage generation - if [ "$TRAVIS_BRANCH" = "master" ] && [ "$CC" = "clang-4.0" ] && [ "$TRAVIS_PULL_REQUEST" = false ]; then export LD_LIBRARY_PATH=${PWD}/3rdparty/libpng:/opt/qt59/lib/:$LD_LIBRARY_PATH ; make DESTDIR=appdir 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 ; unset QTDIR; unset QT_PLUGIN_PATH ; ./linuxdeployqt*.AppImage ./appdir/usr/share/applications/*.desktop -bundle-non-qt-libs ; ./linuxdeployqt*.AppImage ./appdir/usr/share/applications/*.desktop -appimage ; find ./appdir -executable -type f -exec ldd {} \; | grep " => /usr" | cut -d " " -f 2-3 | sort | uniq ; zip -r9 rpcs3.zip ./RPCS3*.AppImage; if [ -z "$WITHOUT_LLVM" ]; then export LLVM="-LLVM"; fi; curl ${UPLOAD_URL}${TRAVIS_COMMIT:0:7}-${TRAVIS_BUILD_NUMBER}${LLVM}_linux64 --upload-file rpcs3.zip; fi; script: # Add a command to show all the variables. May be useful for debugging Travis. #- echo "--Shell Export Lists START--" ; export -p; echo "--Shell Export Lists STOP--"; # And to ensure the versions of toolchain - echo "--CXX version?"; "$CXX" --version; echo "--CXX version confirmed"; #- if [ "$COVERITY_SCAN_BRANCH" != 1 ]; then make -j 3; fi addons: apt: sources: - ubuntu-toolchain-r-test - llvm-toolchain-trusty-4.0 packages: - cmake - libasound2-dev - libopenal-dev - freeglut3-dev #- libglew-dev #- libvulkan1 #- libvulkan-dev - libc6-dev - llvm-4.0 - llvm-4.0-dev - clang-4.0 - libedit-dev - g++-5 - gcc-5 - libstdc++-5-dev - lib32stdc++6 - zlib1g-dev # We need to install qt 5.8 manually because the version trusty provides is too old. #- qtbase5-dev - libudev-dev coverity_scan: project: name: $TRAVIS_REPO_SLUG description: "PS3 emulator/debugger" notification_email: nekotekina@gmail.com build_command: "make -j 3" branch_pattern: coverity_scan after_success: - if [ "$COVERITY_SCAN_BRANCH" != 1 ] && [ "$TRAVIS_OS_NAME" = linux ]; then coveralls --extension .c --extension .cpp --extension .h; fi