de060ce09a
* OSX bundle support
* Disable framework by default, and fix domain name typo
* Remove info.plist, add efx.h for framework public header
* Fix osx/ios framework PUBLIC_HEADER doesn't work
* Refine comment message
* Auto set CFBundleShortVersionString by var LIB_VERSION
* Set CFBundleVersion from git commit count
* Use space to separate elements in a list
* Specific framework name to variable 'IMPL_TARGET'
* Solve cmake try_compile failed with code sign, and disable framework code sign
* Make ios travis to build dynamic framework bundle by default
* Update ios.toolchain.cmake
Since we solve code sign issue for cmake to generate dynamic framework xcode project, enable strict try_compile by default
* Remove MAKE_CXX_EXTENSIONS from travis-ci
* Combined flat lib armv7;arm64 support
* Remvoe ios.toolchain.cmake since we don't need
[skip appveyor] [skip travis]
* Sets framework name to soft_oal,
avoid ambiguous with system OpenAL.framework
* Fix missing BUNDLE, FRAMEWORK's DESTINATION
Build osx/ios dynamic framework required them.
* Use @rpath instead fullPath to mac local disk
see also:
c80ddef7a4
* CMake, use TRUE for bool value
* Don't disable examples, utils, install
* Make ALSOFT_OSX_FRAMEWORK for APPLE spec
* Remove unused flag and more clearly comment
* More clearly comment for solve armv7 target issue
Co-authored-by: deal <deal@dealdeMac.local>
Co-authored-by: bel <bel@beldeMac.local>
125 lines
3.8 KiB
YAML
125 lines
3.8 KiB
YAML
language: cpp
|
|
matrix:
|
|
include:
|
|
- os: linux
|
|
dist: xenial
|
|
- os: linux
|
|
dist: trusty
|
|
env:
|
|
- BUILD_ANDROID=true
|
|
- os: freebsd
|
|
compiler: clang
|
|
- os: osx
|
|
- os: osx
|
|
osx_image: xcode11
|
|
env:
|
|
- BUILD_IOS=true
|
|
sudo: required
|
|
install:
|
|
- >
|
|
if [[ "${TRAVIS_OS_NAME}" == "linux" && -z "${BUILD_ANDROID}" ]]; then
|
|
# Install pulseaudio, portaudio, ALSA, JACK dependencies for
|
|
# corresponding backends.
|
|
# Install Qt5 dependency for alsoft-config.
|
|
sudo apt-get install -qq \
|
|
libpulse-dev \
|
|
portaudio19-dev \
|
|
libasound2-dev \
|
|
libjack-dev \
|
|
qtbase5-dev
|
|
fi
|
|
- >
|
|
if [[ "${TRAVIS_OS_NAME}" == "linux" && "${BUILD_ANDROID}" == "true" ]]; then
|
|
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-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 \
|
|
-DALSOFT_REQUIRE_ALSA=ON \
|
|
-DALSOFT_REQUIRE_OSS=ON \
|
|
-DALSOFT_REQUIRE_PORTAUDIO=ON \
|
|
-DALSOFT_REQUIRE_PULSEAUDIO=ON \
|
|
-DALSOFT_REQUIRE_JACK=ON \
|
|
-DALSOFT_EMBED_HRTF_DATA=YES \
|
|
.
|
|
fi
|
|
- >
|
|
if [[ "${TRAVIS_OS_NAME}" == "linux" && "${BUILD_ANDROID}" == "true" ]]; then
|
|
cmake \
|
|
-DANDROID_STL=c++_shared \
|
|
-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}" == "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
|
|
- cmake --build . --clean-first
|