# Let's call MSVS 2017 the default compiler, 64 bit the default architecture, # release the default configuration and --enable-shared the default mode. # # Build jobs # 1. six basic builds: 32/64bit on MSVS2013/2015/2017 # 2. MSVC2017 static lib with with amalgamation # 3. MSVC2017 with debug/sanitizers # 4. MSVC2015 for Windows RT (TODO) # # Note: Avoid the AppVeyor settings `platform` and `configuration` since excluding # from the build matrix is not supported (https://github.com/appveyor/ci/issues/386) clone_depth: 5 environment: CLCACHE_HARDLINK: 1 CLCACHE_NODIRECT: 1 APPVEYOR_CACHE_ENTRY_ZIP_ARGS: -t7z -m0=lzma -mx=9 matrix: # 1 - MSVS: 2013 PLATFORM: x86 TARGET: shared APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - MSVS: 2013 PLATFORM: x86_amd64 TARGET: shared APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - MSVS: 2015 PLATFORM: x86 TARGET: shared APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - MSVS: 2015 PLATFORM: x86_amd64 TARGET: shared APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - MSVS: 2017 PLATFORM: x86 TARGET: shared APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 - MSVS: 2017 PLATFORM: x86_amd64 TARGET: shared APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 # 2 - MSVS: 2017 PLATFORM: x86_amd64 TARGET: static APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 # 3 - MSVS: 2017 PLATFORM: x86_amd64 TARGET: sanitizer APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 install: - call src\scripts\ci\setup_appveyor.bat build_script: - python src\scripts\ci_build.py --os=windows --cc=msvc --compiler-cache=clcache --without-python3 --make-tool=jom --cpu=%PLATFORM% %TARGET% # whitelist branches to avoid testing feature branches twice (as branch and as pull request) branches: only: - master - release-2 # Despite claim in docs, %HOME% not supported cache: - C:\Users\Appveyor\clcache -> src\scripts\ci\appveyor.yml