language: cpp addons: apt_packages: - libgl1-mesa-dev homebrew: packages: - cmake update: true matrix: include: - name: "Linux gcc" os: linux dist: xenial compiler: gcc env: - AMALGAMATED=OFF - name: "Linux gcc Amalgamated" os: linux dist: xenial compiler: gcc env: - AMALGAMATED=ON - name: "Linux clang" os: linux dist: xenial compiler: clang env: - AMALGAMATED=OFF - name: "Linux clang Amalgamated" os: linux dist: xenial compiler: clang env: - AMALGAMATED=ON - name: "macOS Xcode 10" os: osx osx_image: xcode10 env: - CMAKE_FLAGS="-GXcode" - AMALGAMATED=OFF - name: "macOS Xcode 10 Amalgamated" os: osx osx_image: xcode10 env: - CMAKE_FLAGS="-GXcode" - AMALGAMATED=ON - name: "macOS Xcode 10 (Makefiles)" os: osx osx_image: xcode10 env: - AMALGAMATED=OFF - name: "macOS Xcode 10 Amalgamated (Makefiles)" os: osx osx_image: xcode10 env: - AMALGAMATED=ON #- name: "iOS Xcode 10" # os: osx # osx_image: xcode10 # env: # - CMAKE_FLAGS="-GXcode -DCMAKE_SYSTEM_NAME=iOS -DBGFX_BUILD_TOOLS=OFF -DCMAKE_OSX_SYSROOT=iphonesimulator" # - AMALGAMATED=OFF #- name: "iOS Xcode 10 Amalgamated" # os: osx # osx_image: xcode10 # env: # - CMAKE_FLAGS="-GXcode -DCMAKE_SYSTEM_NAME=iOS -DBGFX_BUILD_TOOLS=OFF -DCMAKE_OSX_SYSROOT=iphonesimulator" # - AMALGAMATED=ON - name: "Visual studio 15 2017" os: windows env: - AMALGAMATED=OFF - name: "Visual studio 15 2017 Amalgamated" os: windows env: - AMALGAMATED=ON - name: "Emscripten" os: linux dist: xenial language: node_js services: - docker before_script: - docker run -dit --name emscripten -v $(pwd):/src trzeci/emscripten:sdk-incoming-64bit bash script: - docker exec -it emscripten emconfigure cmake . -DBGFX_BUILD_TOOLS=OFF -DBGFX_AMALGAMATED=$AMALGAMATED -DBX_AMALGAMATED=$AMALGAMATED - docker exec -it emscripten emmake make env: - AMALGAMATED=OFF - name: "Emscripten Amalgamated" os: linux dist: xenial language: node_js services: - docker before_script: - docker run -dit --name emscripten -v $(pwd):/src trzeci/emscripten:sdk-incoming-64bit bash script: - docker exec -it emscripten emconfigure cmake . -DBGFX_BUILD_TOOLS=OFF -DBGFX_AMALGAMATED=$AMALGAMATED -DBX_AMALGAMATED=$AMALGAMATED - docker exec -it emscripten emmake make env: - AMALGAMATED=OFF - name: "Android armeabi-v7a" language: android android: &androidComponents components: - tools - platform-tools - build-tools-26.0.1 env: - CMAKE_FLAGS="-DCMAKE_SYSTEM_NAME=Android -DBGFX_BUILD_TOOLS=OFF -DBGFX_BUILD_EXAMPLES=OFF -DCMAKE_ANDROID_NDK=$TRAVIS_BUILD_DIR/android-ndk-r18b -DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang -DCMAKE_ANDROID_STL_TYPE=c++_shared -DCMAKE_ANDROID_API=26" - AMALGAMATED=OFF install: &androidInstall - echo y | sdkmanager "cmake;3.10.2.4988404" - sudo ln -sf /usr/local/android-sdk/cmake/3.10.2.4988404/bin/cmake /usr/bin/cmake - wget https://dl.google.com/android/repository/android-ndk-r18b-linux-x86_64.zip - unzip -qq android-ndk-r18b-linux-x86_64.zip - name: "Android armeabi-v7a Amalgamated" language: android android: *androidComponents env: - CMAKE_FLAGS="-DCMAKE_SYSTEM_NAME=Android -DBGFX_BUILD_TOOLS=OFF -DBGFX_BUILD_EXAMPLES=OFF -DCMAKE_ANDROID_NDK=$TRAVIS_BUILD_DIR/android-ndk-r18b -DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang -DCMAKE_ANDROID_STL_TYPE=c++_shared -DCMAKE_ANDROID_API=26" - AMALGAMATED=ON install: *androidInstall - name: "Android x86" language: android android: *androidComponents env: - CMAKE_FLAGS="-DCMAKE_SYSTEM_NAME=Android -DBGFX_BUILD_TOOLS=OFF -DBGFX_BUILD_EXAMPLES=OFF -DCMAKE_ANDROID_NDK=$TRAVIS_BUILD_DIR/android-ndk-r18b -DCMAKE_ANDROID_ARCH_ABI=x86 -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang -DCMAKE_ANDROID_STL_TYPE=c++_shared -DCMAKE_ANDROID_API=26" - AMALGAMATED=OFF install: *androidInstall - name: "Android x86 Amalgamated" language: android android: *androidComponents env: - CMAKE_FLAGS="-DCMAKE_SYSTEM_NAME=Android -DBGFX_BUILD_TOOLS=OFF -DBGFX_BUILD_EXAMPLES=OFF -DCMAKE_ANDROID_NDK=$TRAVIS_BUILD_DIR/android-ndk-r18b -DCMAKE_ANDROID_ARCH_ABI=x86 -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang -DCMAKE_ANDROID_STL_TYPE=c++_shared -DCMAKE_ANDROID_API=26" - AMALGAMATED=ON install: *androidInstall script: - mkdir build && cd build - cmake $CMAKE_FLAGS -DBGFX_INSTALL_EXAMPLES=ON -DBGFX_AMALGAMATED=$AMALGAMATED -DBX_AMALGAMATED=$AMALGAMATED .. - cmake --build .