93 lines
3.2 KiB
YAML
93 lines
3.2 KiB
YAML
|
# 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
|
||
|
|
||
|
# https://www.appveyor.com/docs/build-cache/
|
||
|
cache:
|
||
|
- '%LOCALAPPDATA%\pip\Cache -> appveyor.yml'
|
||
|
- win_flex_bison-2.5.15.zip
|
||
|
- llvm-5.0.1-msvc2017-mtd.7z
|
||
|
|
||
|
os: Visual Studio 2017
|
||
|
|
||
|
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_VERSION: 2.5.15
|
||
|
LLVM_ARCHIVE: llvm-5.0.1-msvc2017-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.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
|
||
|
|
||
|
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
|
||
|
|
||
|
|
||
|
# 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.
|