diff options
-rw-r--r-- | appveyor.yml | 40 | ||||
-rw-r--r-- | scripts/appveyor_msvc.bat | 63 |
2 files changed, 73 insertions, 30 deletions
diff --git a/appveyor.yml b/appveyor.yml index ccb84fd3403..6c1bd370044 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -49,41 +49,21 @@ init: environment: WINFLEXBISON_VERSION: 2.5.15 LLVM_ARCHIVE: llvm-5.0.1-msvc2017-mtd.7z + matrix: + - compiler: msvc + buildsystem: scons + - compiler: msvc + buildsystem: meson + path: C:\Python37-x64;C:\Python37-x64\Scripts;%path% install: -# Check git config -- git config core.autocrlf -# Check pip -- python --version -- python -m pip --version -# Install Mako -- python -m pip install Mako==1.0.7 -# Install pywin32 extensions, needed by SCons -- python -m pip install pypiwin32 -# Install python wheels, necessary to install SCons via pip -- python -m pip install wheel -# Install SCons -- python -m pip install scons==3.0.1 -- scons --version -# Install flex/bison -- set WINFLEXBISON_ARCHIVE=win_flex_bison-%WINFLEXBISON_VERSION%.zip -- if not exist "%WINFLEXBISON_ARCHIVE%" appveyor DownloadFile "https://github.com/lexxmark/winflexbison/releases/download/v%WINFLEXBISON_VERSION%/%WINFLEXBISON_ARCHIVE%" -- 7z x -y -owinflexbison\ "%WINFLEXBISON_ARCHIVE%" > nul -- set Path=%CD%\winflexbison;%Path% -- win_flex --version -- win_bison --version -# Download and extract LLVM -- if not exist "%LLVM_ARCHIVE%" appveyor DownloadFile "https://people.freedesktop.org/~jrfonseca/llvm/%LLVM_ARCHIVE%" -- 7z x -y "%LLVM_ARCHIVE%" > nul -- mkdir llvm\bin -- set LLVM=%CD%\llvm +- cmd: scripts\appveyor_msvc.bat install build_script: -- scons -j%NUMBER_OF_PROCESSORS% MSVC_VERSION=14.1 llvm=1 - -after_build: -- scons -j%NUMBER_OF_PROCESSORS% MSVC_VERSION=14.1 llvm=1 check +- cmd: scripts\appveyor_msvc.bat build_script +test_script: +- cmd: scripts\appveyor_msvc.bat test_script # It's possible to setup notification here, as described in # http://www.appveyor.com/docs/notifications#appveyor-yml-configuration , but diff --git a/scripts/appveyor_msvc.bat b/scripts/appveyor_msvc.bat new file mode 100644 index 00000000000..5e8bd451d7e --- /dev/null +++ b/scripts/appveyor_msvc.bat @@ -0,0 +1,63 @@ +goto %1 + +:install +rem Check pip +call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat" +if "%buildsystem%" == "scons" ( + python --version + python -m pip --version + rem Install Mako + python -m pip install Mako==1.0.7 + rem Install pywin32 extensions, needed by SCons + python -m pip install pypiwin32 + rem Install python wheels, necessary to install SCons via pip + python -m pip install wheel + rem Install SCons + python -m pip install scons==3.0.1 + call scons --version +) else ( + python --version + python -m pip install Mako==1.0.7 meson + meson --version + + rem Install pkg-config, which meson requires even on windows + cinst -y pkgconfiglite +) + +rem Install flex/bison +set WINFLEXBISON_ARCHIVE=win_flex_bison-%WINFLEXBISON_VERSION%.zip +if not exist "%WINFLEXBISON_ARCHIVE%" appveyor DownloadFile "https://github.com/lexxmark/winflexbison/releases/download/v%WINFLEXBISON_VERSION%/%WINFLEXBISON_ARCHIVE%" +7z x -y -owinflexbison\ "%WINFLEXBISON_ARCHIVE%" > nul +set Path=%CD%\winflexbison;%Path% +win_flex --version +win_bison --version +rem Download and extract LLVM +if not exist "%LLVM_ARCHIVE%" appveyor DownloadFile "https://people.freedesktop.org/~jrfonseca/llvm/%LLVM_ARCHIVE%" +7z x -y "%LLVM_ARCHIVE%" > nul +if "%buildsystem%" == "scons" ( + mkdir llvm\bin + set LLVM=%CD%\llvm +) +goto :eof + +:build_script +if "%buildsystem%" == "scons" ( + call scons -j%NUMBER_OF_PROCESSORS% MSVC_VERSION=14.1 llvm=1 +) else ( + rem We use default-library as static to affect any wraps (such as expat and zlib) + rem it would be better if we could set subprojects buildtype independently, + rem but I haven't written that patch yet :) + call meson builddir --backend=vs2017 --default-library=static -Dbuild-tests=true -Db_vscrt=mtd --buildtype=release -Dllvm=false + pushd builddir + call msbuild mesa.sln /m + popd +) +goto :eof + +:test_script +if "%buildsystem%" == "scons" ( + call scons -j%NUMBER_OF_PROCESSORS% MSVC_VERSION=14.1 llvm=1 check +) else ( + call meson test -C builddir +) +goto :eof |