Makefile rework/cleanup
[stockfish] / appveyor.yml
index 1ed692082be78d8852a47821bccaa58b0a89b7fd..d356ba2f101f566238cc25f3237c29e4f71a62d8 100644 (file)
@@ -4,19 +4,19 @@ clone_depth: 50
 branches:
   only:
     - master
 branches:
   only:
     - master
-    - appveyor
 
 # Operating system (build VM template)
 
 # Operating system (build VM template)
-os: Visual Studio 2015
+os: Visual Studio 2019
 
 # Build platform, i.e. x86, x64, AnyCPU. This setting is optional.
 platform:
   - x86
   - x64
 
 # Build platform, i.e. x86, x64, AnyCPU. This setting is optional.
 platform:
   - x86
   - x64
-  - Any CPU
 
 # build Configuration, i.e. Debug, Release, etc.
 
 # build Configuration, i.e. Debug, Release, etc.
-configuration: Debug
+configuration:
+  - Debug
+  - Release
 
 matrix:
   # The build fail immediately once one of the job fails
 
 matrix:
   # The build fail immediately once one of the job fails
@@ -35,8 +35,11 @@ before_build:
       $src = $src.Replace("\", "/")
 
       # Build CMakeLists.txt
       $src = $src.Replace("\", "/")
 
       # Build CMakeLists.txt
-      $t = 'cmake_minimum_required(VERSION 3.8)',
+      $t = 'cmake_minimum_required(VERSION 3.17)',
            'project(Stockfish)',
            'project(Stockfish)',
+           'set(CMAKE_CXX_STANDARD 17)',
+           'set(CMAKE_CXX_STANDARD_REQUIRED ON)',
+           'set (CMAKE_CXX_EXTENSIONS OFF)',
            'set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/src)',
            'set(source_files', $src, ')',
            'add_executable(stockfish ${source_files})'
            'set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/src)',
            'set(source_files', $src, ')',
            'add_executable(stockfish ${source_files})'
@@ -50,16 +53,20 @@ before_build:
       $b = git log HEAD | sls "\b[Bb]ench[ :]+[0-9]{7}" | select -first 1
       $bench = $b -match '\D+(\d+)' | % { $matches[1] }
       Write-Host "Reference bench:" $bench
       $b = git log HEAD | sls "\b[Bb]ench[ :]+[0-9]{7}" | select -first 1
       $bench = $b -match '\D+(\d+)' | % { $matches[1] }
       Write-Host "Reference bench:" $bench
+      $g = "Visual Studio 16 2019"
+      If (${env:PLATFORM} -eq 'x64') { $a = "x64" }
+      If (${env:PLATFORM} -eq 'x86') { $a = "Win32" }
+      cmake -G "${g}" -A ${a} .
+      Write-Host "Generated files for: " $g $a
 
 build_script:
 
 build_script:
-  - cmake -G "Visual Studio 14 2015 Win64" .
-  - cmake --build .
+  - cmake --build . --config %CONFIGURATION% -- /verbosity:minimal
 
 before_test:
 
 before_test:
-  - cd src/Debug
+  - cd src/%CONFIGURATION%
+  - stockfish bench 2> out.txt >NUL
   - ps: |
       # Verify bench number
   - ps: |
       # Verify bench number
-      ./stockfish bench 2> out.txt 1> null
       $s = (gc "./out.txt" | out-string)
       $r = ($s -match 'Nodes searched \D+(\d+)' | % { $matches[1] })
       Write-Host "Engine bench:" $r
       $s = (gc "./out.txt" | out-string)
       $r = ($s -match 'Nodes searched \D+(\d+)' | % { $matches[1] })
       Write-Host "Engine bench:" $r