diff --git a/.appveyor.yml b/.appveyor.yml index 708e1b176..8ab193184 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -54,26 +54,31 @@ skip_commits: - docs/**/* install: + - cmd: set "ORIG_PATH=%PATH%" # Use the x86 python only when building for x86 for the cpython tests. # For all other archs (including, say, arm), use the x64 python. - ps: (new-object net.webclient).DownloadFile('https://www.dropbox.com/s/bbzvepq85hv47x1/ninja.exe?dl=1', 'C:\projects\meson\ninja.exe') - cmd: if %arch%==x86 (set MESON_PYTHON_PATH=C:\python34) else (set MESON_PYTHON_PATH=C:\python34-x64) - cmd: echo Using Python at %MESON_PYTHON_PATH% + - cmd: if %compiler%==msvc2010 ( call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" %arch% ) - cmd: if %compiler%==msvc2015 ( call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" %arch% ) - cmd: if %compiler%==msvc2017 ( call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat" -arch=%arch% ) + - cmd: if %compiler%==msys2-mingw (if %arch%==x86 (set "PATH=C:\msys64\mingw32\bin;%PATH%") else (set "PATH=C:\msys64\mingw64\bin;%PATH%")) + - cmd: if %compiler%==cygwin ( call ci\appveyor-install.bat ) + - cmd: if not %compiler%==cygwin ( set "PATH=%cd%;%MESON_PYTHON_PATH%;%PATH%;" ) + - cmd: if %compiler%==cygwin ( set WRAPPER=ci\run-in-cygwin.bat ) + - cmd: if %compiler%==cygwin ( set PYTHON=python3 ) else ( set PYTHON=python ) build_script: - cmd: echo No build step. - - cmd: if not %compiler%==cygwin if %backend%==ninja ( ninja.exe --version ) else ( MSBuild /version & echo. ) + - cmd: if %backend%==ninja ( %WRAPPER% ninja.exe --version ) else ( MSBuild /version & echo. ) test_script: - cmd: echo Running tests for %arch% and %compiler% with the %backend% backend - - cmd: set "ORIG_PATH=%PATH%" - - cmd: if %compiler%==cygwin ( set "PATH=%CYGWIN_ROOT%\bin;%SYSTEMROOT%\system32" && bash -lc "cd $APPVEYOR_BUILD_FOLDER && ci/appveyor-test.sh" ) - - cmd: if not %compiler%==cygwin ( set "PATH=%cd%;%MESON_PYTHON_PATH%;%PATH%;" && python run_tests.py --backend=%backend% ) + - cmd: "%WRAPPER% %PYTHON% run_tests.py --backend=%backend%" on_finish: - set "PATH=%ORIG_PATH%" diff --git a/ci/appveyor-test.sh b/ci/appveyor-test.sh deleted file mode 100755 index 2f2963054..000000000 --- a/ci/appveyor-test.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -echo ninja $(ninja --version) -python3 --version -V - -python3 run_tests.py --backend=${backend} diff --git a/ci/run-in-cygwin.bat b/ci/run-in-cygwin.bat new file mode 100644 index 000000000..146d28ecd --- /dev/null +++ b/ci/run-in-cygwin.bat @@ -0,0 +1,6 @@ +if _%arch%_ == _x64_ set CYGWIN_ROOT=C:\cygwin64 +if _%arch%_ == _x86_ set CYGWIN_ROOT=C:\cygwin + +set PATH=%CYGWIN_ROOT%\bin;%SYSTEMROOT%\system32 + +env.exe -- %*