summaryrefslogtreecommitdiff
path: root/appveyor.yml
blob: b6e641a2a3591f0b0e8f0ecff1dd8fbbc7e862aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
branches:
  only:
    - master

environment:
  nodejs_version: "14"

  global:
    # Workaround for https://github.com/conda/conda-build/issues/636
    PYTHONIOENCODING: UTF-8
    CONDA_INSTALL_LOCN: "C:\\Miniconda35-x64"
    CMAKE_OPTIONS: ""
    CPP_TEST_OPTIONS: ""

  matrix:
    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
      CMAKE_VS_VERSION: "10 2010"
      CMAKE_OPTIONS: "-DFLATBUFFERS_BUILD_LEGACY=1"
      CPP_TEST_OPTIONS: "--std-cpp c++0x"
      MONSTER_EXTRA: "skip"

    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
      CMAKE_VS_VERSION: "12 2013"
      MONSTER_EXTRA: "skip"

    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
      CMAKE_VS_VERSION: "14 2015"
      MONSTER_EXTRA: ""

platform:
  - x86
  - x64

configuration:
  - Debug
  - Release

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

build:
  project: ALL_BUILD.vcxproj
  verbosity: minimal

after_build:
  - python conan/appveyor/install.py
  - python conan/appveyor/build.py

install:
  - set PATH=%CONDA_INSTALL_LOCN%;%CONDA_INSTALL_LOCN%\scripts;%PATH%;
  - ps: Install-Product node $env:nodejs_version

test_script:
  - call .appveyor\check-generate-code.bat -b %CONFIGURATION%
  - "cd tests"
  - rem "Building all code"
  - generate_code.bat -b %CONFIGURATION% %CPP_TEST_OPTIONS%
  - 7z a GeneratedMyGameCode.zip MyGame\
  - rem "---------------- C++ -----------------"
  - "cd .."
  - "%CONFIGURATION%\\flattests.exe"
  - rem "---------------- JS -----------------"
  - "node --version"
  - "npm install"
  - "npm run compile"
  - "cd tests"
  - "TypeScriptTest.bat"
  - rem "---------------- C# -----------------"
  # Have to compile this here rather than in "build" above because AppVeyor only
  # supports building one project??
  - "cd FlatBuffers.Test"
  - "dotnet new sln"
  - "dotnet sln add FlatBuffers.Test.csproj"
  - "nuget restore"
  - "mkdir .tmp"
  - "msbuild.exe /property:Configuration=Release;OutputPath=.tmp /verbosity:minimal FlatBuffers.Test.csproj"
  - ".tmp\\FlatBuffers.Test.exe"
  # Run tests with UNSAFE_BYTEBUFFER
  - "msbuild.exe /property:Configuration=Release;UnsafeByteBuffer=true;OutputPath=.tmp /verbosity:minimal FlatBuffers.Test.csproj"
  - ".tmp\\FlatBuffers.Test.exe"

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