blob: dd4d05d52fff1c32a5240c71e68ce941e3f1fad5 [file] [log] [blame]
onqtamaec53d22017-05-03 06:29:47 +03001# http://www.appveyor.com/docs/appveyor-yml
2
3notifications:
4 - provider: Email
5 on_build_status_changed: false
6 on_build_failure: false
7 on_build_success: false
8 # gitter
9 - provider: Webhook
10 url: https://webhooks.gitter.im/e/3a78202a235c0325e516
11 on_build_status_changed: true
12 on_build_failure: true
13 on_build_success: false
14
15clone_depth: 500
16branches:
17 except:
18 - gh-pages
19 - coverity_scan
20
21matrix:
22 fast_finish: false
23
24environment:
25 matrix:
26 - gen: "MinGW Makefiles"
onqtamaec53d22017-05-03 06:29:47 +030027 - gen: "Visual Studio 14 2015"
28 - gen: "Visual Studio 15 2017"
29 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
30
31install:
onqtam54b5bb92018-05-31 13:13:09 +030032 - IF "%gen%" == "MinGW Makefiles" appveyor-retry appveyor DownloadFile http://downloads.sourceforge.net/mingw-w64/x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z
33 - IF "%gen%" == "MinGW Makefiles" 7z x x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z -oc:\mingw > nul
onqtamaec53d22017-05-03 06:29:47 +030034
35build_script:
36 # workaround for CMake not wanting sh.exe on PATH for MinGW
37 - IF "%gen%" == "MinGW Makefiles" set PATH=%PATH:C:\Program Files\Git\usr\bin;=%
38 - IF "%gen%" == "MinGW Makefiles" set PATH=C:\mingw\mingw64\bin;%PATH%
39 # generate and build everything for debug and release
40 - IF "%gen%" == "MinGW Makefiles" mkdir debug_64
41 - IF "%gen%" == "MinGW Makefiles" cd debug_64
42 - IF "%gen%" == "MinGW Makefiles" cmake .. -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Debug
43 - IF "%gen%" == "MinGW Makefiles" cmake --build .
44 - IF "%gen%" == "MinGW Makefiles" cd ..
45 - IF "%gen%" == "MinGW Makefiles" mkdir release_64
46 - IF "%gen%" == "MinGW Makefiles" cd release_64
47 - IF "%gen%" == "MinGW Makefiles" cmake .. -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release
48 - IF "%gen%" == "MinGW Makefiles" cmake --build .
49 - IF "%gen%" == "MinGW Makefiles" cd ..
50 # adding git to the path again - for the dos2unix tool
51 - IF "%gen%" == "MinGW Makefiles" set PATH=%PATH%;C:\Program Files\Git\usr\bin
52 # execute tests
53 - IF "%gen%" == "MinGW Makefiles" cd debug_64
54 - IF "%gen%" == "MinGW Makefiles" ctest --output-on-failure
55 - IF "%gen%" == "MinGW Makefiles" cd ..
56 - IF "%gen%" == "MinGW Makefiles" cd release_64
57 - IF "%gen%" == "MinGW Makefiles" ctest --output-on-failure
58 - IF "%gen%" == "MinGW Makefiles" cd ..
59 - IF "%gen%" == "MinGW Makefiles" appveyor exit
60 # ============= VISUAL STUDIO
onqtamef508e82018-05-29 23:45:43 +030061 - mkdir debug_64
62 - cd debug_64
63 - cmake .. -G "%gen% Win64"
64 - msbuild doctest.sln /p:Configuration=Debug;Platform=x64 /maxcpucount
65 - ctest -C Debug --output-on-failure
66 - cd ..
67 - mkdir release_64
68 - cd release_64
69 - cmake .. -G "%gen% Win64"
70 - msbuild doctest.sln /p:Configuration=Release;Platform=x64 /maxcpucount
71 - ctest -C Release --output-on-failure
72 - cd ..
onqtamaec53d22017-05-03 06:29:47 +030073 # x86
74 - mkdir debug_86
75 - cd debug_86
76 - cmake .. -G "%gen%"
77 - msbuild doctest.sln /p:Configuration=Debug;Platform=Win32 /maxcpucount
78 - ctest -C Debug --output-on-failure
79 - cd ..
80 - mkdir release_86
81 - cd release_86
82 - cmake .. -G "%gen%"
83 - msbuild doctest.sln /p:Configuration=Release;Platform=Win32 /maxcpucount
84 - ctest -C Release --output-on-failure
85 - cd ..
86 # static code analysis
87 - IF "%gen%" == "Visual Studio 15 2017" mkdir analysis
88 - IF "%gen%" == "Visual Studio 15 2017" cd analysis
89 - IF "%gen%" == "Visual Studio 15 2017" cmake .. -G "%gen% Win64"
90 - IF "%gen%" == "Visual Studio 15 2017" msbuild doctest.sln /p:Configuration=Debug;Platform=x64 /maxcpucount /p:RunCodeAnalysis=true /p:CodeAnalysisTreatWarningsAsErrors=true
91 - IF "%gen%" == "Visual Studio 15 2017" cd ..