# - https://www.appveyor.com/blog/2014/06/04/shallow-clone-for-git-repositories
clone_depth: 100
+# https://www.appveyor.com/docs/build-cache/
cache:
-- win_flex_bison-2.4.5.zip
-- llvm-3.3.1-msvc2013-mtd.7z
+- '%LOCALAPPDATA%\pip\Cache -> appveyor.yml'
+- win_flex_bison-2.5.15.zip
+- llvm-5.0.1-msvc2017-mtd.7z
+- subprojects\packagecache -> subprojects\*.wrap
+
+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_ARCHIVE: win_flex_bison-2.4.5.zip
- LLVM_ARCHIVE: llvm-3.3.1-msvc2013-mtd.7z
+ 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:\Python38-x64;C:\Python38-x64\Scripts;%path%
install:
-# Check pip
-- python --version
-- python -m pip --version
-# Install Mako
-- python -m pip install --egg Mako
-# Install pywin32 extensions, needed by SCons
-- python -m pip install pypiwin32
-# Install SCons
-- python -m pip install --egg scons==2.4.1
-- scons --version
-# Install flex/bison
-- if not exist "%WINFLEXBISON_ARCHIVE%" appveyor DownloadFile "http://downloads.sourceforge.net/project/winflexbison/%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: .appveyor\appveyor_msvc.bat install
build_script:
-- scons -j%NUMBER_OF_PROCESSORS% MSVC_VERSION=12.0 llvm=1
-
-after_build:
-- scons -j%NUMBER_OF_PROCESSORS% MSVC_VERSION=12.0 llvm=1 check
+- cmd: .appveyor\appveyor_msvc.bat build_script
+test_script:
+- cmd: .appveyor\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