Add appveyor.yml config for a future Windows bot.

I'm currently trying to get a libc++ Windows builder working on appveyor.
This patch adds the configuration file needed to build libc++ on Appveyor.
Details of where the buildbot can be found will come later

llvm-svn: 300786
This commit is contained in:
Eric Fiselier 2017-04-19 23:26:21 +00:00
parent aab5be0505
commit ae44aee984
1 changed files with 97 additions and 0 deletions

97
libcxx/appveyor.yml Normal file
View File

@ -0,0 +1,97 @@
version: '{build}'
shallow_clone: true
os:
- Visual Studio 2015
build:
verbosity: detailed
branches:
only:
- windows-build
configuration:
- Debug
environment:
matrix:
- COMPILER: Clang-CL 4.0
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
############################################################################
- if exist llvm (git -C llvm pull --rebase=true --ff-only)
- if not exist llvm (git clone --depth=1 http://llvm.org/git/llvm.git)
before_build:
- call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64
- cd C:\projects\libcxx
build_script:
- md C:\projects\build-libcxx
- cd C:\projects\build-libcxx
- echo %configuration%
#############################################################################
# Configuration Step
#############################################################################
- cmake -G Ninja %extra_cmake_flags%
-DCMAKE_C_COMPILER=clang-cl.exe -DCMAKE_CXX_COMPILER=clang-cl.exe
"-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
#############################################################################
# Build Step
#############################################################################
- ninja
test_script:
- ninja check-cxx
on_failure:
- appveyor PushArtifact CMakeFiles/CMakeOutput.log
- appveyor PushArtifact CMakeFiles/CMakeError.log
artifacts:
- path: '_build/CMakeFiles/*.log'
name: logs
cache:
- C:\projects\deps\llvm