1image: 2 - Visual Studio 2017 3 4platform: 5 - x64 6 - x86 7 8environment: 9 fast_finish: true 10 matrix: 11 - VSVER: 15 12 13configuration: 14 - shared 15 - minimal 16 17for: 18 - 19 branches: 20 only: 21 - master 22 configuration: 23 - shared 24 - plain 25 - minimal 26 27before_build: 28 - ps: >- 29 Install-Module VSSetup -Scope CurrentUser 30 - ps: >- 31 Get-VSSetupInstance -All 32 - ps: >- 33 If ($env:Platform -Match "x86") { 34 $env:VCVARS_PLATFORM="x86" 35 $env:TARGET="VC-WIN32 no-asm --strict-warnings" 36 } Else { 37 $env:VCVARS_PLATFORM="amd64" 38 $env:TARGET="VC-WIN64A-masm" 39 } 40 - ps: >- 41 If ($env:Configuration -Match "shared") { 42 $env:CONFIG_OPTS="enable-fips" 43 } ElseIf ($env:Configuration -Match "minimal") { 44 $env:CONFIG_OPTS="no-bulk no-asm -DOPENSSL_SMALL_FOOTPRINT" 45 } Else { 46 $env:CONFIG_OPTS="no-fips no-shared" 47 } 48 - call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" %VCVARS_PLATFORM% 49 - mkdir _build 50 - cd _build 51 - perl ..\Configure %TARGET% no-makedepend %CONFIG_OPTS% 52 - perl configdata.pm --dump 53 - cd .. 54 - ps: >- 55 If ($env:BUILDONLY -or $env:MAKEVERBOSE) { 56 $env:NMAKE="nmake" 57 } Else { 58 $env:NMAKE="nmake /S" 59 } 60 - ps: >- 61 gci env:* | sort-object name 62 63build_script: 64 - cd _build 65 - "%NMAKE% build_all_generated" 66 - "%NMAKE% PERL=no-perl" 67 - cd .. 68 69test_script: 70 - cd _build 71 - ps: >- 72 if ($env:Configuration -Match "plain") { 73 cmd /c "%NMAKE% test VERBOSE_FAILURE=yes 2>&1" 74 } Else { 75 cmd /c "%NMAKE% test VERBOSE_FAILURE=yes TESTS=-test_fuzz 2>&1" 76 } 77 - ps: >- 78 if ($env:Configuration -Match "shared") { 79 mkdir ..\_install 80 cmd /c "%NMAKE% install DESTDIR=..\_install 2>&1" 81 } 82 - cd .. 83