platform:
    - x64
    - x86

environment:
    fast_finish: true
    matrix:
        - VSVER: 14

configuration:
    - shared
    - plain

before_build:
    - ps: >-
        If ($env:Platform -Match "x86") {
            $env:VCVARS_PLATFORM="x86"
            $env:TARGET="VC-WIN32 no-asm"
        } Else {
            $env:VCVARS_PLATFORM="amd64"
            $env:TARGET="VC-WIN64A-masm"
        }
    - ps: >-
        If ($env:Configuration -Match "shared") {
            $env:SHARED=""
        } Else {
            $env:SHARED="no-shared"
        }
    - ps: $env:VSCOMNTOOLS=(Get-Content ("env:VS" + "$env:VSVER" + "0COMNTOOLS"))
    - call "%VSCOMNTOOLS%\..\..\VC\vcvarsall.bat" %VCVARS_PLATFORM%
    - mkdir _build
    - cd _build
    - perl ..\Configure %TARGET% %SHARED%
    - cd ..
    - ps: >-
        if (-not $env:APPVEYOR_PULL_REQUEST_NUMBER`
            -or (&git log -2 | Select-String "\[extended tests\]") ) {
            $env:EXTENDED_TESTS="yes"
        }

build_script:
    - ps: >-
        If ($env:Configuration -Match "shared" -or $env:EXTENDED_TESTS) {
            cd _build
            cmd /c "nmake 2>&1"
            cd ..
        }

test_script:
    - ps: >-
        If ($env:Configuration -Match "shared" -or $env:EXTENDED_TESTS) {
            cd _build
            if ($env:EXTENDED_TESTS) {
                cmd /c "nmake test V=1 2>&1"
                mkdir ..\_install
                cmd /c "nmake install install_docs DESTDIR=..\_install 2>&1"
            } Else {
                cmd /c "nmake test V=1 TESTS=-test_fuzz 2>&1"
            }
            cd ..
        }

notifications:
    - provider: Email
      to:
          - openssl-commits@openssl.org
      on_build_success: false
      on_build_failure: true
      on_build_status_changed: true
