Build: Generate apps/progs.c and apps/progs.h in build time
[openssl.git] / appveyor.yml
1 image:
2   - Visual Studio 2017
3
4 platform:
5     - x64
6     - x86
7
8 environment:
9     fast_finish: true
10     matrix:
11         - VSVER: 15
12
13 configuration:
14     - shared
15     - plain
16     - minimal
17
18 before_build:
19     - ps: >-
20         Install-Module VSSetup -Scope CurrentUser
21     - ps: >-
22         Get-VSSetupInstance -All
23     - ps: >-
24         gci env:* | sort-object name
25     - ps: >-
26         If ($env:Platform -Match "x86") {
27             $env:VCVARS_PLATFORM="x86"
28             $env:TARGET="VC-WIN32 no-asm --strict-warnings"
29         } Else {
30             $env:VCVARS_PLATFORM="amd64"
31             $env:TARGET="VC-WIN64A-masm"
32         }
33     - ps: >-
34         If ($env:Configuration -Match "shared") {
35             $env:SHARED="no-makedepend"
36         } ElseIf ($env:Configuration -Match "minimal") {
37             $env:SHARED="no-shared no-dso no-makedepend no-aria no-async no-autoload-config no-blake2 no-bf no-camellia no-cast no-chacha no-cmac no-cms no-cmp no-comp no-ct no-des no-dgram no-dh no-dsa no-dtls no-ec2m no-engine no-filenames no-gost no-idea no-ktls no-mdc2 no-md4 no-multiblock no-nextprotoneg no-ocsp no-ocb no-poly1305 no-psk no-rc2 no-rc4 no-rmd160 no-seed no-siphash no-siv no-sm2 no-sm3 no-sm4 no-srp no-srtp no-ssl3 no-ssl3-method no-ts no-ui-console no-whirlpool no-asm -DOPENSSL_SMALL_FOOTPRINT"
38         } Else {
39             $env:SHARED="no-shared no-makedepend"
40         }
41     - call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" %VCVARS_PLATFORM%
42     - mkdir _build
43     - cd _build
44     - perl ..\Configure %TARGET% %SHARED%
45     - perl configdata.pm --dump
46     - cd ..
47     - ps: >-
48         if (-not $env:APPVEYOR_PULL_REQUEST_NUMBER`
49             -or (&git log -2 | Select-String "\[extended tests\]") ) {
50             $env:EXTENDED_TESTS="yes"
51         }
52
53 build_script:
54     - cd _build
55     - ps: >-
56         If ($env:Configuration -Match "shared" -or $env:EXTENDED_TESTS) {
57             cmd /c "nmake build_all_generated 2>&1"
58             cmd /c "nmake PERL=no-perl 2>&1"
59         }
60     - cd ..
61
62 test_script:
63     - cd _build
64     - ps: >-
65         If ($env:Configuration -Match "shared" -or $env:EXTENDED_TESTS) {
66             if ($env:EXTENDED_TESTS) {
67                 cmd /c "nmake test HARNESS_VERBOSE_FAILURE=yes 2>&1"
68             } Else {
69                 cmd /c "nmake test HARNESS_VERBOSE_FAILURE=yes TESTS=-test_fuzz 2>&1"
70             }
71         }
72     - ps: >-
73         if ($env:EXTENDED_TESTS) {
74             mkdir ..\_install
75             cmd /c "nmake install DESTDIR=..\_install 2>&1"
76         }
77     - cd ..