diff options
Diffstat (limited to '.travis.yml')
-rw-r--r-- | .travis.yml | 87 |
1 files changed, 72 insertions, 15 deletions
diff --git a/.travis.yml b/.travis.yml index 98b5adcc..f85da593 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,13 @@ matrix: dist: trusty env: - BUILD_ANDROID=true + - os: freebsd + compiler: clang - os: osx + - os: osx + osx_image: xcode11 + env: + - BUILD_IOS=true sudo: required install: - > @@ -20,24 +26,49 @@ install: portaudio19-dev \ libasound2-dev \ libjack-dev \ - qtbase5-dev + qtbase5-dev \ + libdbus-1-dev fi - > if [[ "${TRAVIS_OS_NAME}" == "linux" && "${BUILD_ANDROID}" == "true" ]]; then - curl -o ~/android-ndk.zip https://dl.google.com/android/repository/android-ndk-r16b-linux-x86_64.zip + curl -o ~/android-ndk.zip https://dl.google.com/android/repository/android-ndk-r21-linux-x86_64.zip unzip -q ~/android-ndk.zip -d ~ \ - 'android-ndk-r16b/build/cmake/*' \ - 'android-ndk-r16b/build/core/toolchains/arm-linux-androideabi-*/*' \ - 'android-ndk-r16b/platforms/android-14/arch-arm/*' \ - 'android-ndk-r16b/source.properties' \ - 'android-ndk-r16b/sources/android/support/include/*' \ - 'android-ndk-r16b/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/*' \ - 'android-ndk-r16b/sources/cxx-stl/llvm-libc++/include/*' \ - 'android-ndk-r16b/sysroot/*' \ - 'android-ndk-r16b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/*' \ - 'android-ndk-r16b/toolchains/llvm/prebuilt/linux-x86_64/*' + 'android-ndk-r21/build/cmake/*' \ + 'android-ndk-r21/build/core/toolchains/arm-linux-androideabi-*/*' \ + 'android-ndk-r21/platforms/android-16/arch-arm/*' \ + 'android-ndk-r21/source.properties' \ + 'android-ndk-r21/sources/android/support/include/*' \ + 'android-ndk-r21/sources/cxx-stl/llvm-libc++/libs/armeabi-v7a/*' \ + 'android-ndk-r21/sources/cxx-stl/llvm-libc++/include/*' \ + 'android-ndk-r21/sysroot/*' \ + 'android-ndk-r21/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/*' \ + 'android-ndk-r21/toolchains/llvm/prebuilt/linux-x86_64/*' + export OBOE_LOC=~/oboe + git clone --depth 1 -b 1.3-stable https://github.com/google/oboe "$OBOE_LOC" + fi + - > + if [[ "${TRAVIS_OS_NAME}" == "freebsd" ]]; then + # Install Ninja as it's used downstream. + # Install dependencies for all supported backends. + # Install Qt5 dependency for alsoft-config. + # Install ffmpeg for examples. + sudo pkg install -y \ + alsa-lib \ + ffmpeg \ + jackit \ + libmysofa \ + ninja \ + portaudio \ + pulseaudio \ + qt5-buildtools \ + qt5-qmake \ + qt5-widgets \ + sdl2 \ + sndio \ + $NULL fi script: + - cmake --version - > if [[ "${TRAVIS_OS_NAME}" == "linux" && -z "${BUILD_ANDROID}" ]]; then cmake \ @@ -53,16 +84,42 @@ script: if [[ "${TRAVIS_OS_NAME}" == "linux" && "${BUILD_ANDROID}" == "true" ]]; then cmake \ -DANDROID_STL=c++_shared \ - -DCMAKE_TOOLCHAIN_FILE=~/android-ndk-r16b/build/cmake/android.toolchain.cmake \ + -DCMAKE_TOOLCHAIN_FILE=~/android-ndk-r21/build/cmake/android.toolchain.cmake \ + -DOBOE_SOURCE="$OBOE_LOC" \ + -DALSOFT_REQUIRE_OBOE=ON \ -DALSOFT_REQUIRE_OPENSL=ON \ -DALSOFT_EMBED_HRTF_DATA=YES \ . fi - > - if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then + if [[ "${TRAVIS_OS_NAME}" == "freebsd" ]]; then + cmake -GNinja \ + -DALSOFT_REQUIRE_ALSA=ON \ + -DALSOFT_REQUIRE_JACK=ON \ + -DALSOFT_REQUIRE_OSS=ON \ + -DALSOFT_REQUIRE_PORTAUDIO=ON \ + -DALSOFT_REQUIRE_PULSEAUDIO=ON \ + -DALSOFT_REQUIRE_SDL2=ON \ + -DALSOFT_REQUIRE_SNDIO=ON \ + -DALSOFT_EMBED_HRTF_DATA=YES \ + . + fi + - > + if [[ "${TRAVIS_OS_NAME}" == "osx" && -z "${BUILD_IOS}" ]]; then + cmake \ + -DALSOFT_REQUIRE_COREAUDIO=ON \ + -DALSOFT_EMBED_HRTF_DATA=YES \ + . + fi + - > + if [[ "${TRAVIS_OS_NAME}" == "osx" && "${BUILD_IOS}" == "true" ]]; then cmake \ + -GXcode \ + -DCMAKE_SYSTEM_NAME=iOS \ + -DALSOFT_OSX_FRAMEWORK=ON \ -DALSOFT_REQUIRE_COREAUDIO=ON \ -DALSOFT_EMBED_HRTF_DATA=YES \ + "-DCMAKE_OSX_ARCHITECTURES=armv7;arm64" \ . fi - - make -j2 + - cmake --build . --clean-first |