winit 0.19.5

Cross-platform window creation library.
language: rust

cache: cargo

matrix:
  include:
    # Linux 32bit
    - env: TARGET=i686-unknown-linux-gnu
      os: linux
      rust: nightly
      addons:
        apt:
          # Cross compiler and cross compiled C libraries
          packages: &i686_packages
            - gcc-multilib
    - env: TARGET=i686-unknown-linux-gnu
      os: linux
      rust: stable
      addons:
        apt:
          packages: *i686_packages

    # Linux 64bit
    - env: TARGET=x86_64-unknown-linux-gnu
      os: linux
      rust: nightly
    - env: TARGET=x86_64-unknown-linux-gnu
      os: linux
      rust: stable

    # macOS
    - env: TARGET=x86_64-apple-darwin
      os: osx
      rust: nightly
    - env: TARGET=x86_64-apple-darwin
      os: osx
      rust: stable

    # iOS
    - env: TARGET=x86_64-apple-ios
      os: osx
      rust: nightly
    - env: TARGET=x86_64-apple-ios
      os: osx
      rust: stable

install:
  - rustup self update
  - rustup target add $TARGET; true

script:
  - cargo build --target $TARGET --verbose
  - cargo build --target $TARGET --features serde --verbose
  - cargo build --target $TARGET --features icon_loading --verbose
  # Running iOS apps on OSX requires the simulator so we skip that for now
  - if [ "$TARGET" != "x86_64-apple-ios" ]; then cargo test --target $TARGET --verbose; fi
  - if [ "$TARGET" != "x86_64-apple-ios" ]; then cargo test --target $TARGET --features serde --verbose; fi
  - if [ "$TARGET" != "x86_64-apple-ios" ]; then cargo test --target $TARGET --features icon_loading --verbose; fi

after_success:
  - |
      [ $TRAVIS_BRANCH = master ] &&
      [ $TRAVIS_PULL_REQUEST = false ] &&
      cargo publish --token ${CRATESIO_TOKEN}