summaryrefslogtreecommitdiffstats
path: root/appveyor.yml
blob: f0dfc7f5bae56b2e7db8a03236d74876e2a5bc2e (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
image:
    - Visual Studio 2017

platform:
    - x64
    - x86

environment:
    fast_finish: true
    matrix:
        - VSVER: 15

configuration:
    - shared
    - plain
    - minimal

before_build:
    - ps: >-
        Install-Module VSSetup -Scope CurrentUser
    - ps: >-
        Get-VSSetupInstance -All
    - ps: >-
        If ($env:Platform -Match "x86") {
            $env:VCVARS_PLATFORM="x86"
            $env:TARGET="VC-WIN32 no-asm --strict-warnings"
        } Else {
            $env:VCVARS_PLATFORM="amd64"
            $env:TARGET="VC-WIN64A-masm"
        }
    - ps: >-
        If ($env:Configuration -Match "shared") {
            $env:CONFIG_OPTS=""
        } ElseIf ($env:Configuration -Match "minimal") {
            $env:CONFIG_OPTS="no-bulk no-asm -DOPENSSL_SMALL_FOOTPRINT"
        } Else {
            $env:CONFIG_OPTS="no-shared"
        }
    - call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" %VCVARS_PLATFORM%
    - mkdir _build
    - cd _build
    - perl ..\Configure %TARGET% no-makedepend %CONFIG_OPTS%
    - perl configdata.pm --dump
    - cd ..
    - ps: >-
        If (-not $env:APPVEYOR_PULL_REQUEST_NUMBER`
            -or (&git log -1 $env:APPVEYOR_PULL_REQUEST_HEAD_COMMIT |
                 Select-String "\[extended tests\]") ) {
            $env:EXTENDED_TESTS="yes"
        }
    - ps: >-
        If ($env:BUILDONLY -or $env:MAKEVERBOSE) {
            $env:NMAKE="nmake"
        } Else {
            $env:NMAKE="nmake /S"
        }
    - ps: >-
        gci env:* | sort-object name

build_script:
    - cd _build
    - ps: >-
        If ($env:Configuration -Match "shared" -or $env:EXTENDED_TESTS) {
            cmd /c "%NMAKE% build_all_generated 2>&1"
            # Unfortunately, CL=/MP would not have parallelizing effect
            cmd /c "%NMAKE% PERL=no-perl 2>&1"
        }
    - cd ..

test_script:
    - cd _build
    - ps: >-
        If ($env:Configuration -Match "shared" -or $env:EXTENDED_TESTS) {
            # Unfortunately, HARNESS_JOBS=4 would not have parallelizing effect
            if ($env:EXTENDED_TESTS) {
                cmd /c "%NMAKE% test HARNESS_VERBOSE_FAILURE=yes 2>&1"
            } Else {
                cmd /c "%NMAKE% test HARNESS_VERBOSE_FAILURE=yes TESTS=-test_fuzz 2>&1"
            }
        }
    - ps: >-
        if ($env:EXTENDED_TESTS) {
            mkdir ..\_install
            cmd /c "%NMAKE% install DESTDIR=..\_install 2>&1"
        }
    - cd ..