From ae44aee9844d20e3ffa5f6c565412de28c643a6b Mon Sep 17 00:00:00 2001 From: Eric Fiselier Date: Wed, 19 Apr 2017 23:26:21 +0000 Subject: [PATCH] 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 --- libcxx/appveyor.yml | 97 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 libcxx/appveyor.yml diff --git a/libcxx/appveyor.yml b/libcxx/appveyor.yml new file mode 100644 index 000000000000..6bd2ef138204 --- /dev/null +++ b/libcxx/appveyor.yml @@ -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