Labrador/.travis.yml

100 lines
3.0 KiB
YAML

language: cpp
branches:
only:
- master
matrix:
include:
- os: linux
dist: xenial
sudo: required
compiler: gcc
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-7
- gcc-7
- libfftw3-dev
- qt5-default
- libusb-1.0-0-dev
env:
- MATRIX_EVAL="CC=gcc-7 && CXX=g++-7"
- os: osx
osx_image: xcode11.6
compiler: clang
before_install:
- eval "${MATRIX_EVAL}"
- |
# OSX
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
brew update
brew remove --force $(brew list --formula)
# Linux
elif [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
sudo add-apt-repository ppa:beineri/opt-qt-5.12.9-xenial -y
sudo apt-get update -qq
fi
install:
- |
# OSX
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
brew install fftw
brew install libomp
brew install qt5
brew link qt5 --force
brew install libusb
brew install wget
# Linux
elif [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
sudo apt-get -y install qt512base
source /opt/qt*/bin/qt*-env.sh
fi
script:
- |
# OSX
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
cd Desktop_Interface
qmake CONFIG+=release PREFIX=/usr DEFINES+=GIT_HASH_SHORT=$(git rev-parse --short HEAD)
make -j$(sysctl -n hw.ncpu)
mkdir -p bin/Labrador.app/Contents/MacOS/Resources
mkdir -p bin/Labrador.app/Contents/Frameworks
cp -r bin/firmware bin/Labrador.app/Contents/MacOS
cp -r bin/waveforms bin/Labrador.app/Contents/MacOS
cp resources/iconfile.icns bin/Labrador.app/Contents/Resources
cp resources/Info.plist bin/Labrador.app/Contents
macdeployqt bin/Labrador.app -dmg -libpath=build_mac/libdfuprog/lib/
#Linux
elif [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
cd Desktop_Interface
./make_appimage
fi
after_success:
- |
# OSX
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
export UPLOADTOOL_SUFFIX="macOS"
export UPLOADTOOL_BODY="EspoTek Labrador software for macOS 10.13 and later. If you are running an older version of macOS, please use the macOS Legacy build below."
wget -c https://github.com/probonopd/uploadtool/raw/master/upload.sh
bash upload.sh bin/Labrador.dmg
# Linux
elif [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
export UPLOADTOOL_SUFFIX="Linux"
find appdir -executable -type f -exec ldd {} \; | grep " => /usr" | cut -d " " -f 2-3 | sort | uniq
export UPLOADTOOL_BODY="EspoTek Labrador software for Linux. This should be compatible with all modern 64-bit distros. If you're running 32-bit Linux, please see the wiki for build instructions. https://github.com/EspoTek/Labrador/wiki/Building-for-32-bit-Linux"
wget -c https://github.com/probonopd/uploadtool/raw/master/upload.sh
bash upload.sh EspoTek_Labrador*.AppImage
fi
branches:
except:
- # Do not build tags that we create when we upload to GitHub Releases
- /^(?i:continuous)/