diff --git a/appveyor.yml b/appveyor.yml index 96f3d629..e7001834 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -61,8 +61,9 @@ build_script: #- C:\cygwin64\bin\bash --login -c "make -C '%CD%\opt\cygfuse' dist" #- C:\cygwin\setup-x86.exe -qnNd -P cygport #- C:\cygwin\bin\bash --login -c "make -C '%CD%\opt\cygfuse' dist" -# remove ARM64 project configurations to build in VS2015 +# remove ARM64 project configurations to build in VS2015/VS2017 - if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2015" tools\gensrc\remove-build-arm64.bat +- if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2017" tools\gensrc\remove-build-arm64.bat # build winfsp - tools\build.bat %CONFIGURATION% diff --git a/tools/build.bat b/tools/build.bat index 9fbe474d..ba6660e0 100755 --- a/tools/build.bat +++ b/tools/build.bat @@ -26,10 +26,16 @@ if X%~nx0==Xbuild-choco.bat ( set BuildArm64=yes if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2015" ( - echo WARNING: APPVEYOR BUILD ON UNSUPPORTED VERSION OF VISUAL STUDIO. - echo: set BuildArm64=no ) +if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2017" ( + set BuildArm64=no +) +if X%BuildArm64%==Xno ( + echo WARNING: APPVEYOR BUILD ON UNSUPPORTED VERSION OF VISUAL STUDIO. + echo WARNING: ARM64 BUILD PRODUCTS ARE COPIES OF X64 BUILD PRODUCTS. + echo: +) call "%~dp0vcvarsall.bat" x64 @@ -60,11 +66,8 @@ if X%SignedPackage%==X ( devenv winfsp.sln /build "%Configuration%|x86" if errorlevel 1 goto fail if X%BuildArm64%==Xno ( - echo: - echo WARNING: APPVEYOR BUILD ON UNSUPPORTED VERSION OF VISUAL STUDIO. - echo WARNING: ARM64 BUILD PRODUCTS ARE COPIES OF X64 BUILD PRODUCTS. - echo: copy build\%Configuration%\*-x64.* build\%Configuration%\*-a64.* >nul + if errorlevel 1 goto fail ) for %%f in (build\%Configuration%\%MyProductFileName%-a64.sys build\%Configuration%\%MyProductFileName%-x64.sys build\%Configuration%\%MyProductFileName%-x86.sys) do ( diff --git a/tools/vcvarsall.bat b/tools/vcvarsall.bat index 4df393db..5bbc212f 100755 --- a/tools/vcvarsall.bat +++ b/tools/vcvarsall.bat @@ -3,8 +3,14 @@ set vcvarsall="%VS140COMNTOOLS%\..\..\VC\vcvarsall.bat" set vswhere="%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" if exist %vswhere% ( - for /f "usebackq tokens=*" %%i in (`%vswhere% -find VC\**\vcvarsall.bat`) do ( - set vcvarsall="%%i" + for /f "usebackq tokens=*" %%i in (`%vswhere% -latest -find VC\**\vcvarsall.bat`) do ( + if exist "%%i" ( + set vcvarsall="%%i" + ) else ( + for /f "usebackq tokens=*" %%i in (`%vswhere% -latest -property installationPath`) do ( + set vcvarsall="%%i\VC\Auxiliary\Build\vcvarsall.bat" + ) + ) ) ) call %vcvarsall% %*