Setup Appveyor bot for MSVC 2017 and MSVC 2015

llvm-svn: 302113
This commit is contained in:
Eric Fiselier 2017-05-04 05:16:48 +00:00
parent 5cc4632b5b
commit d9fadb2de8
2 changed files with 69 additions and 41 deletions

View File

@ -10,54 +10,26 @@ configuration:
environment:
matrix:
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
COMPILER: Clang-CL 4.0
MSVC_SETUP_PATH: "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\vcvarsall.bat"
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
COMPILER: Clang-CL 4.0
MSVC_SETUP_PATH: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Auxiliary\\Build\\vcvarsall.bat"
CLANG_VERSION: ToT
MSVC_SETUP_PATH: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat
MSVC_SETUP_ARG: x86
APPVEYOR_SAVE_CACHE_ON_ERROR: true
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
CLANG_VERSION: 4
MSVC_SETUP_PATH: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat
MSVC_SETUP_ARG: x86_amd64
APPVEYOR_SAVE_CACHE_ON_ERROR: true
install:
############################################################################
# All external dependencies are installed in C:\projects\deps
############################################################################
- mkdir C:\projects\deps
- cd C:\projects\deps
############################################################################
# Install Ninja
############################################################################
- set NINJA_URL="https://github.com/ninja-build/ninja/releases/download/v1.6.0/ninja-win.zip"
- appveyor DownloadFile %NINJA_URL% -FileName ninja.zip
- 7z x ninja.zip -oC:\projects\deps\ninja > nul
- set PATH=C:\projects\deps\ninja;%PATH%
- ninja --version
############################################################################
# Install a recent CMake
############################################################################
- set CMAKE_URL="https://cmake.org/files/v3.7/cmake-3.7.2-win64-x64.zip"
- appveyor DownloadFile %CMAKE_URL% -FileName cmake.zip
- 7z x cmake.zip -oC:\projects\deps > nul
- move C:\projects\deps\cmake-* C:\projects\deps\cmake # Move to a version-agnostic directory
- set PATH=C:\projects\deps\cmake\bin;%PATH%
- cmake --version
############################################################################
# Setup the path to Clang-cl
############################################################################
- set PATH="C:\Program Files\LLVM\bin";%PATH%
- clang-cl -v
############################################################################
# Setup the cached copy of LLVM
############################################################################
- git clone --depth=1 http://llvm.org/git/llvm.git
- call "%APPVEYOR_BUILD_FOLDER%\\install-appveyor-reqs.cmd"
before_build:
- call "$MSVC_SETUP_PATH" amd64
- cd C:\projects\libcxx
- call "%MSVC_SETUP_PATH%" %MSVC_SETUP_ARG%
- cd %APPVEYOR_BUILD_FOLDER%
build_script:
- md C:\projects\build-libcxx
@ -72,7 +44,7 @@ build_script:
"-DCMAKE_BUILD_TYPE=%configuration%"
"-DLLVM_PATH=C:\projects\deps\llvm" -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF
-DLLVM_LIT_ARGS="-sv --no-progress-bar --show-xfail --show-unsupported"
C:\projects\libcxx
%APPVEYOR_BUILD_FOLDER%
#############################################################################
# Build Step
@ -89,3 +61,8 @@ on_failure:
artifacts:
- path: '_build/CMakeFiles/*.log'
name: logs
cache:
- C:\projects\deps\ninja
- C:\projects\deps\cmake
- C:\projects\deps\llvm

View File

@ -0,0 +1,51 @@
@echo on
if NOT EXIST C:\projects\deps (
mkdir C:\projects\deps
)
cd C:\projects\deps
::###########################################################################
:: Setup the path to Clang-cl
::###########################################################################
if "%CLANG_VERSION%"=="ToT" (
appveyor DownloadFile http://efcs.ca/downloads/llvm-tot-win32.zip -FileName llvm-package.zip
move "C:\Program Files\LLVM" "C:\Program Files\LLVM_BAK"
7z x llvm-package.zip -o"C:\Program Files\LLVM" > nul
rm llvm-package.zip
)
@set PATH="C:\Program Files\LLVM\bin";%PATH%
clang-cl -v
::###########################################################################
:: Install a recent CMake
::###########################################################################
if NOT EXIST cmake (
appveyor DownloadFile https://cmake.org/files/v3.7/cmake-3.7.2-win64-x64.zip -FileName cmake.zip
7z x cmake.zip -oC:\projects\deps > nul
move C:\projects\deps\cmake-* C:\projects\deps\cmake
rm cmake.zip
)
@set PATH=C:\projects\deps\cmake\bin;%PATH%
cmake --version
::###########################################################################
:: Install Ninja
::###########################################################################
if NOT EXIST ninja (
appveyor DownloadFile https://github.com/ninja-build/ninja/releases/download/v1.6.0/ninja-win.zip -FileName ninja.zip
7z x ninja.zip -oC:\projects\deps\ninja > nul
rm ninja.zip
)
@set PATH=C:\projects\deps\ninja;%PATH%
ninja --version
::###########################################################################
:: Setup the cached copy of LLVM
::###########################################################################
if NOT EXIST llvm (
git clone --depth=1 http://llvm.org/git/llvm.git
) ELSE (
git -C llvm pull --rebase=true --ff-only
)
@echo off