Unify the markdown links to the NOTES and README files
[openssl.git] / appveyor.yml
index 5074a3116c8f81f04bf57db9580b395e9652bc9a..f0dfc7f5bae56b2e7db8a03236d74876e2a5bc2e 100644 (file)
@@ -1,3 +1,6 @@
+image:
+    - Visual Studio 2017
+
 platform:
     - x64
     - x86
@@ -5,45 +8,62 @@ platform:
 environment:
     fast_finish: true
     matrix:
-        - VSVER: 14
+        - 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"
+            $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:SHARED="no-makedepend"
+            $env:CONFIG_OPTS=""
+        } ElseIf ($env:Configuration -Match "minimal") {
+            $env:CONFIG_OPTS="no-bulk no-asm -DOPENSSL_SMALL_FOOTPRINT"
         } Else {
-            $env:SHARED="no-shared no-makedepend"
+            $env:CONFIG_OPTS="no-shared"
         }
-    - ps: $env:VSCOMNTOOLS=(Get-Content ("env:VS" + "$env:VSVER" + "0COMNTOOLS"))
-    - call "%VSCOMNTOOLS%\..\..\VC\vcvarsall.bat" %VCVARS_PLATFORM%
+    - call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" %VCVARS_PLATFORM%
     - mkdir _build
     - cd _build
-    - perl ..\Configure %TARGET% %SHARED%
+    - perl ..\Configure %TARGET% no-makedepend %CONFIG_OPTS%
     - perl configdata.pm --dump
     - cd ..
     - ps: >-
-        if (-not $env:APPVEYOR_PULL_REQUEST_NUMBER`
-            -or (&git log -2 | Select-String "\[extended tests\]") ) {
+        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 2>&1"
+            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 ..
 
@@ -51,15 +71,16 @@ 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 V=1 2>&1"
+                cmd /c "%NMAKE% test HARNESS_VERBOSE_FAILURE=yes 2>&1"
             } Else {
-                cmd /c "nmake test V=1 TESTS=-test_fuzz 2>&1"
+                cmd /c "%NMAKE% test HARNESS_VERBOSE_FAILURE=yes TESTS=-test_fuzz 2>&1"
             }
         }
     - ps: >-
         if ($env:EXTENDED_TESTS) {
             mkdir ..\_install
-            cmd /c "nmake install install_docs DESTDIR=..\_install 2>&1"
+            cmd /c "%NMAKE% install DESTDIR=..\_install 2>&1"
         }
     - cd ..