| # http://www.appveyor.com/docs/appveyor-yml |
| # |
| # To setup AppVeyor for your own personal repositories do the following: |
| # - Sign up |
| # - Add a new project |
| # - Select Git and fill in the Git clone URL |
| # - Setup a Git hook as explained in |
| # https://github.com/appveyor/webhooks#installing-git-hook |
| # - Check 'Settings > General > Skip branches without appveyor.yml' |
| # - Check 'Settings > General > Rolling builds' |
| # - Setup the global or project notifications to your liking |
| # |
| # Note that kicking (or restarting) a build via the web UI will not work, as it |
| # will fail to find appveyor.yml . The Git hook is the most practical way to |
| # kick a build. |
| # |
| # See also: |
| # - http://help.appveyor.com/discussions/problems/2209-node-grunt-build-specify-a-project-or-solution-file-the-directory-does-not-contain-a-project-or-solution-file |
| # - http://help.appveyor.com/discussions/questions/1184-build-config-vs-appveyoryaml |
| |
| version: '{build}' |
| |
| branches: |
| except: |
| - /^travis.*$/ |
| |
| # Don't download the full Mesa history to speed up cloning. However the clone |
| # depth must not be too small, otherwise builds might fail when lots of patches |
| # are committed in succession, because the desired commit is not found on the |
| # truncated history. |
| # |
| # See also: |
| # - https://www.appveyor.com/blog/2014/06/04/shallow-clone-for-git-repositories |
| clone_depth: 100 |
| |
| cache: |
| - win_flex_bison-2.5.9.zip |
| - llvm-5.0.1-msvc2015-mtd.7z |
| |
| os: Visual Studio 2015 |
| |
| init: |
| # Appveyor defaults core.autocrlf to input instead of the default (true), but |
| # that can hide problems processing CRLF text on Windows |
| - git config --global core.autocrlf true |
| |
| environment: |
| WINFLEXBISON_ARCHIVE: win_flex_bison-2.5.9.zip |
| LLVM_ARCHIVE: llvm-5.0.1-msvc2015-mtd.7z |
| |
| 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.6 |
| # 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==2.5.1 |
| - scons --version |
| # Install flex/bison |
| - if not exist "%WINFLEXBISON_ARCHIVE%" appveyor DownloadFile "https://downloads.sourceforge.net/project/winflexbison/old_versions/%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 |
| |
| build_script: |
| - scons -j%NUMBER_OF_PROCESSORS% MSVC_VERSION=14.0 llvm=1 |
| |
| after_build: |
| - scons -j%NUMBER_OF_PROCESSORS% MSVC_VERSION=14.0 llvm=1 check |
| |
| |
| # It's possible to setup notification here, as described in |
| # http://www.appveyor.com/docs/notifications#appveyor-yml-configuration , but |
| # doing so would cause the notification settings to be replicated across all |
| # repos, which is most likely undesired. So it's better to rely on the |
| # Appveyor global/project notification settings. |