branches:
  only:
    - master

os: Visual Studio 2015

environment:
  matrix:
    - CMAKE_VS_VERSION: "10 2010"
    - CMAKE_VS_VERSION: "14 2015"

platform:
  - x86
  - x64

configuration:
  - Debug
  - Release

before_build:
  - cmake -G"Visual Studio %CMAKE_VS_VERSION%"
  # This cuts down on a lot of noise generated by xamarin warnings.
  - del "C:\Program Files (x86)\MSBuild\14.0\Microsoft.Common.targets\ImportAfter\Xamarin.Common.targets"

build:
  project: ALL_BUILD.vcxproj
  verbosity: minimal

test_script:
  - rem "---------------- C++ -----------------"
  - "%CONFIGURATION%\\flattests.exe"
  - rem "---------------- Java -----------------"
  - "cd tests"
  - "java -version"
  - "JavaTest.bat"
  - rem "---------------- JS -----------------"
  - "node --version"
  - "..\\%CONFIGURATION%\\flatc -b monster_test.fbs unicode_test.json"
  - "node JavaScriptTest ./monster_test_generated"
  - rem "---------------- C# -----------------"
  # Have to compile this here rather than in "build" above because AppVeyor only
  # supports building one project??
  - "cd FlatBuffers.Test"
  - "msbuild.exe /property:Configuration=Release;OutputPath=tempcs /verbosity:minimal FlatBuffers.Test.csproj"
  - "tempcs\\FlatBuffers.Test.exe"
  # TODO: add more languages.
  - "cd ..\\.."

artifacts:
  - path: $(CONFIGURATION)\\flatc.exe
    name: flatc.exe
