blob: c0992685606424349a704f106f80e61c464dc420 [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 10 2010"
28 - gen: "Visual Studio 11 2012"
29 - gen: "Visual Studio 12 2013"
30 - gen: "Visual Studio 14 2015"
31 - gen: "Visual Studio 15 2017"
32 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
33
34install:
onqtam7b267412017-05-07 21:57:42 +030035 - IF "%gen%" == "MinGW Makefiles" appveyor-retry appveyor DownloadFile http://downloads.sourceforge.net/mingw-w64/x86_64-7.1.0-release-posix-seh-rt_v5-rev0.7z
36 - IF "%gen%" == "MinGW Makefiles" 7z x x86_64-7.1.0-release-posix-seh-rt_v5-rev0.7z -oc:\mingw > nul
onqtamaec53d22017-05-03 06:29:47 +030037
38build_script:
39 # workaround for CMake not wanting sh.exe on PATH for MinGW
40 - IF "%gen%" == "MinGW Makefiles" set PATH=%PATH:C:\Program Files\Git\usr\bin;=%
41 - IF "%gen%" == "MinGW Makefiles" set PATH=C:\mingw\mingw64\bin;%PATH%
42 # generate and build everything for debug and release
43 - IF "%gen%" == "MinGW Makefiles" mkdir debug_64
44 - IF "%gen%" == "MinGW Makefiles" cd debug_64
45 - IF "%gen%" == "MinGW Makefiles" cmake .. -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Debug
46 - IF "%gen%" == "MinGW Makefiles" cmake --build .
47 - IF "%gen%" == "MinGW Makefiles" cd ..
48 - IF "%gen%" == "MinGW Makefiles" mkdir release_64
49 - IF "%gen%" == "MinGW Makefiles" cd release_64
50 - IF "%gen%" == "MinGW Makefiles" cmake .. -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release
51 - IF "%gen%" == "MinGW Makefiles" cmake --build .
52 - IF "%gen%" == "MinGW Makefiles" cd ..
53 # adding git to the path again - for the dos2unix tool
54 - IF "%gen%" == "MinGW Makefiles" set PATH=%PATH%;C:\Program Files\Git\usr\bin
55 # execute tests
56 - IF "%gen%" == "MinGW Makefiles" cd debug_64
57 - IF "%gen%" == "MinGW Makefiles" ctest --output-on-failure
58 - IF "%gen%" == "MinGW Makefiles" cd ..
59 - IF "%gen%" == "MinGW Makefiles" cd release_64
60 - IF "%gen%" == "MinGW Makefiles" ctest --output-on-failure
61 - IF "%gen%" == "MinGW Makefiles" cd ..
62 - IF "%gen%" == "MinGW Makefiles" appveyor exit
63 # ============= VISUAL STUDIO
onqtamef508e82018-05-29 23:45:43 +030064 - mkdir debug_64
65 - cd debug_64
66 - cmake .. -G "%gen% Win64"
67 - msbuild doctest.sln /p:Configuration=Debug;Platform=x64 /maxcpucount
68 - ctest -C Debug --output-on-failure
69 - cd ..
70 - mkdir release_64
71 - cd release_64
72 - cmake .. -G "%gen% Win64"
73 - msbuild doctest.sln /p:Configuration=Release;Platform=x64 /maxcpucount
74 - ctest -C Release --output-on-failure
75 - cd ..
onqtamaec53d22017-05-03 06:29:47 +030076 # x86
77 - mkdir debug_86
78 - cd debug_86
79 - cmake .. -G "%gen%"
80 - msbuild doctest.sln /p:Configuration=Debug;Platform=Win32 /maxcpucount
81 - ctest -C Debug --output-on-failure
82 - cd ..
83 - mkdir release_86
84 - cd release_86
85 - cmake .. -G "%gen%"
86 - msbuild doctest.sln /p:Configuration=Release;Platform=Win32 /maxcpucount
87 - ctest -C Release --output-on-failure
88 - cd ..
89 # static code analysis
90 - IF "%gen%" == "Visual Studio 15 2017" mkdir analysis
91 - IF "%gen%" == "Visual Studio 15 2017" cd analysis
92 - IF "%gen%" == "Visual Studio 15 2017" cmake .. -G "%gen% Win64"
93 - IF "%gen%" == "Visual Studio 15 2017" msbuild doctest.sln /p:Configuration=Debug;Platform=x64 /maxcpucount /p:RunCodeAnalysis=true /p:CodeAnalysisTreatWarningsAsErrors=true
94 - IF "%gen%" == "Visual Studio 15 2017" cd ..