branches:
  only:
    - master
    - /release-.*/

notifications:
  - provider: Email
    on_build_success: false
    on_build_failure: false
    on_build_status_changed: false

build_script:
  - ps: if ($env:APPVEYOR_PULL_REQUEST_NUMBER -and $env:APPVEYOR_BUILD_NUMBER -ne ((Invoke-RestMethod `
      https://ci.appveyor.com/api/projects/$env:APPVEYOR_ACCOUNT_NAME/$env:APPVEYOR_PROJECT_SLUG/history?recordsNumber=50).builds | `
      Where-Object pullRequestId -eq $env:APPVEYOR_PULL_REQUEST_NUMBER)[0].buildNumber) { `
      throw "There are newer queued builds for this pull request, failing early." }
  - mkdir msvc_static
  - cd msvc_static
  - cmake .. -DUTF8PROC_ENABLE_TESTING=On
  - cmake --build .
  - ctest
  - mkdir ..\msvc_shared
  - cd ..\msvc_shared
  - cmake .. -DBUILD_SHARED_LIBS=ON -DUTF8PROC_ENABLE_TESTING=On
  - cmake --build .
  - ctest
  - set PATH=C:\MinGW\bin;%PATH%
  - C:\MinGW\msys\1.0\bin\sh --login -c "
      cd /c/projects/utf8proc &&
      mkdir mingw_static &&
      cd mingw_static &&
      cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DUTF8PROC_ENABLE_TESTING=On -G'MSYS Makefiles' &&
      make &&
      ctest &&
      mkdir ../mingw_shared &&
      cd ../mingw_shared &&
      cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_SHARED_LIBS=ON -DUTF8PROC_ENABLE_TESTING=On -G'MSYS Makefiles' &&
      make &&
      ctest
      "

on_finish:
  # Uncomment the following line for interactive debugging, which
  # will print login data for a temporary remote session after the
  # build. This requires an RDP version 6 client, e.g., FreeRDP.
  #- ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
