image: - Visual Studio 2017 platform: - x64 - x86 environment: fast_finish: true matrix: - VSVER: 15 configuration: - shared - minimal for: - branches: only: - master 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="enable-fips" } ElseIf ($env:Configuration -Match "minimal") { $env:CONFIG_OPTS="no-bulk no-asm -DOPENSSL_SMALL_FOOTPRINT" } Else { $env:CONFIG_OPTS="no-fips 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 ($env:BUILDONLY -or $env:MAKEVERBOSE) { $env:NMAKE="nmake" } Else { $env:NMAKE="nmake /S" } - ps: >- gci env:* | sort-object name build_script: - cd _build - "%NMAKE% build_all_generated" - "%NMAKE% PERL=no-perl" - cd .. test_script: - cd _build - ps: >- if ($env:Configuration -Match "plain") { cmd /c "%NMAKE% test VERBOSE_FAILURE=yes 2>&1" } Else { cmd /c "%NMAKE% test VERBOSE_FAILURE=yes TESTS=-test_fuzz 2>&1" } - ps: >- if ($env:Configuration -Match "shared") { mkdir ..\_install cmd /c "%NMAKE% install DESTDIR=..\_install 2>&1" } - cd ..