diff --git a/appveyor.yml b/appveyor.yml index e4c5010cb..dbbd7a908 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -40,11 +40,12 @@ configuration: # Environment variables: compiler toolchain environment: matrix: - - TOOLCHAIN: 9.0 - TOOLCHAIN: 10.0 - TOOLCHAIN: 11.0 - TOOLCHAIN: 12.0 - TOOLCHAIN: 14.0 + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + TOOLCHAIN: 2017 - TOOLCHAIN: cygwin - TOOLCHAIN: mingw @@ -57,8 +58,6 @@ platform: matrix: exclude: # VS Express installs don't have the 64 bit compiler - - platform: x64 - TOOLCHAIN: 9.0 - platform: x64 TOOLCHAIN: 10.0 diff --git a/ci/appveyor-make.bat b/ci/appveyor-make.bat index 8ecf61dbe..a489d80ee 100644 --- a/ci/appveyor-make.bat +++ b/ci/appveyor-make.bat @@ -1,6 +1,6 @@ :: Universal build script for AppVeyor (https://ci.appveyor.com/) :: Environment: -:: TOOLCHAIN - toolchain version [9.0/10.0/11.0/12.0/14.0/cygwin/mingw] +:: TOOLCHAIN - toolchain version [10.0/11.0/12.0/14.0/2017/cygwin/mingw] :: CONFIGURATION - determines EPICS build [dynamic/static] :: PLATFORM - architecture [x86/x64] :: @@ -57,10 +57,22 @@ if "%TOOLCHAIN%"=="mingw" ( ) set "VSINSTALL=C:\Program Files (x86)\Microsoft Visual Studio %TOOLCHAIN%" +if not exist "%VSINSTALL%\" set "VSINSTALL=C:\Program Files (x86)\Microsoft Visual Studio\%TOOLCHAIN%\Community" +if not exist "%VSINSTALL%\" goto MSMissing + set "MAKE=C:\tools\make" +echo [INFO] APPVEYOR_BUILD_WORKER_IMAGE=%APPVEYOR_BUILD_WORKER_IMAGE% + if "%OS%"=="64BIT" ( set EPICS_HOST_ARCH=windows-x64%ST% + :: VS 2017 + if exist "%VSINSTALL%\VC\Auxiliary\Build\vcvars64.bat" ( + call "%VSINSTALL%\VC\Auxiliary\Build\vcvars64.bat" + where cl + if !ERRORLEVEL! NEQ 0 goto MSMissing + goto MSFound + ) if exist "%VSINSTALL%\VC\vcvarsall.bat" ( call "%VSINSTALL%\VC\vcvarsall.bat" amd64 where cl @@ -79,12 +91,19 @@ if "%OS%"=="64BIT" ( ) ) else ( set EPICS_HOST_ARCH=win32-x86%ST% + :: VS 2017 + if exist "%VSINSTALL%\VC\Auxiliary\Build\vcvars32.bat" ( + call "%VSINSTALL%\VC\Auxiliary\Build\vcvars32.bat" + where cl + if !ERRORLEVEL! NEQ 0 goto MSMissing + goto MSFound + ) if exist "%VSINSTALL%\VC\vcvarsall.bat" ( call "%VSINSTALL%\VC\vcvarsall.bat" x86 where cl if !ERRORLEVEL! NEQ 0 goto MSMissing goto MSFound - ) + ) if exist "%VSINSTALL%\VC\bin\vcvars32.bat" ( call "%VSINSTALL%\VC\bin\vcvars32.bat" where cl