blob: eb2316acc462789e0f73787bef407787a37ca841 [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"
27 - gen: "Visual Studio 9 2008"
28 - gen: "Visual Studio 10 2010"
29 - gen: "Visual Studio 11 2012"
30 - gen: "Visual Studio 12 2013"
31 - gen: "Visual Studio 14 2015"
32 - gen: "Visual Studio 15 2017"
33 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
34
35install:
onqtam7b267412017-05-07 21:57:42 +030036 - 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
37 - 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 +030038
39build_script:
40 # workaround for CMake not wanting sh.exe on PATH for MinGW
41 - IF "%gen%" == "MinGW Makefiles" set PATH=%PATH:C:\Program Files\Git\usr\bin;=%
42 - IF "%gen%" == "MinGW Makefiles" set PATH=C:\mingw\mingw64\bin;%PATH%
43 # generate and build everything for debug and release
44 - IF "%gen%" == "MinGW Makefiles" mkdir debug_64
45 - IF "%gen%" == "MinGW Makefiles" cd debug_64
46 - IF "%gen%" == "MinGW Makefiles" cmake .. -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Debug
47 - IF "%gen%" == "MinGW Makefiles" cmake --build .
48 - IF "%gen%" == "MinGW Makefiles" cd ..
49 - IF "%gen%" == "MinGW Makefiles" mkdir release_64
50 - IF "%gen%" == "MinGW Makefiles" cd release_64
51 - IF "%gen%" == "MinGW Makefiles" cmake .. -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release
52 - IF "%gen%" == "MinGW Makefiles" cmake --build .
53 - IF "%gen%" == "MinGW Makefiles" cd ..
54 # adding git to the path again - for the dos2unix tool
55 - IF "%gen%" == "MinGW Makefiles" set PATH=%PATH%;C:\Program Files\Git\usr\bin
56 # execute tests
57 - IF "%gen%" == "MinGW Makefiles" cd debug_64
58 - IF "%gen%" == "MinGW Makefiles" ctest --output-on-failure
59 - IF "%gen%" == "MinGW Makefiles" cd ..
60 - IF "%gen%" == "MinGW Makefiles" cd release_64
61 - IF "%gen%" == "MinGW Makefiles" ctest --output-on-failure
62 - IF "%gen%" == "MinGW Makefiles" cd ..
63 - IF "%gen%" == "MinGW Makefiles" appveyor exit
64 # ============= VISUAL STUDIO
65 # x64 - not enabled for 2008 because cmake cannot find the compiler for Win64
66 - IF NOT "%gen%" == "Visual Studio 9 2008" mkdir debug_64
67 - IF NOT "%gen%" == "Visual Studio 9 2008" cd debug_64
68 - IF NOT "%gen%" == "Visual Studio 9 2008" cmake .. -G "%gen% Win64"
69 - IF NOT "%gen%" == "Visual Studio 9 2008" msbuild doctest.sln /p:Configuration=Debug;Platform=x64 /maxcpucount
70 - IF NOT "%gen%" == "Visual Studio 9 2008" ctest -C Debug --output-on-failure
71 - IF NOT "%gen%" == "Visual Studio 9 2008" cd ..
72 - IF NOT "%gen%" == "Visual Studio 9 2008" mkdir release_64
73 - IF NOT "%gen%" == "Visual Studio 9 2008" cd release_64
74 - IF NOT "%gen%" == "Visual Studio 9 2008" cmake .. -G "%gen% Win64"
75 - IF NOT "%gen%" == "Visual Studio 9 2008" msbuild doctest.sln /p:Configuration=Release;Platform=x64 /maxcpucount
76 - IF NOT "%gen%" == "Visual Studio 9 2008" ctest -C Release --output-on-failure
77 - IF NOT "%gen%" == "Visual Studio 9 2008" cd ..
78 # x86
79 - mkdir debug_86
80 - cd debug_86
81 - cmake .. -G "%gen%"
82 - msbuild doctest.sln /p:Configuration=Debug;Platform=Win32 /maxcpucount
83 - ctest -C Debug --output-on-failure
84 - cd ..
85 - mkdir release_86
86 - cd release_86
87 - cmake .. -G "%gen%"
88 - msbuild doctest.sln /p:Configuration=Release;Platform=Win32 /maxcpucount
89 - ctest -C Release --output-on-failure
90 - cd ..
91 # static code analysis
92 - IF "%gen%" == "Visual Studio 15 2017" mkdir analysis
93 - IF "%gen%" == "Visual Studio 15 2017" cd analysis
94 - IF "%gen%" == "Visual Studio 15 2017" cmake .. -G "%gen% Win64"
95 - IF "%gen%" == "Visual Studio 15 2017" msbuild doctest.sln /p:Configuration=Debug;Platform=x64 /maxcpucount /p:RunCodeAnalysis=true /p:CodeAnalysisTreatWarningsAsErrors=true
96 - IF "%gen%" == "Visual Studio 15 2017" cd ..