diff --git a/README.md b/README.md index 2085f50dec..0b7d10c6e4 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,7 @@ clarity. ## Building [![Build Status](https://travis-ci.org/zig-lang/zig.svg?branch=master)](https://travis-ci.org/zig-lang/zig) +[![Build status](https://ci.appveyor.com/api/projects/status/4t80mk2dmucrc38i/branch/master?svg=true)](https://ci.appveyor.com/project/andrewrk/zig-d3l86/branch/master) ### Dependencies diff --git a/ci/appveyor/appveyor.yml b/ci/appveyor/appveyor.yml new file mode 100644 index 0000000000..fcb7f97553 --- /dev/null +++ b/ci/appveyor/appveyor.yml @@ -0,0 +1,5 @@ +image: Visual Studio 2015 +platform: + - x64 +build_script: + - '%APPVEYOR_BUILD_FOLDER%\ci\appveyor\build_script.bat' diff --git a/ci/appveyor/build_script.bat b/ci/appveyor/build_script.bat new file mode 100644 index 0000000000..3cbba7a4b7 --- /dev/null +++ b/ci/appveyor/build_script.bat @@ -0,0 +1,11 @@ +@echo on +echo %APPVEYOR_BUILD_FOLDER% +cd %APPVEYOR_BUILD_FOLDER% +SET "PATH=C:\msys64\mingw64\bin;C:\msys64\usr\bin;%PATH%" +SET "MSYSTEM=MINGW64" + +bash -lc "pacman -Syu --needed --noconfirm" +bash -lc "pacman -Su --needed --noconfirm" +bash -lc "pacman -S --needed --noconfirm make mingw64/mingw-w64-x86_64-make mingw64/mingw-w64-x86_64-cmake mingw64/mingw-w64-x86_64-clang mingw64/mingw-w64-x86_64-llvm mingw64/mingw-w64-x86_64-lld mingw64/mingw-w64-x86_64-gcc" + +bash -lc "cd ${APPVEYOR_BUILD_FOLDER} && mkdir build && cd build && cmake .. -G""MSYS Makefiles"" -DCMAKE_INSTALL_PREFIX=$(pwd) -DZIG_LIBC_LIB_DIR=$(dirname $(cc -print-file-name=crt1.o)) -DZIG_LIBC_INCLUDE_DIR=$(echo -n | cc -E -x c - -v 2>&1 | grep -B1 ""End of search list."" | head -n1 | cut -c 2- | sed ""s/ .*//"") -DZIG_LIBC_STATIC_LIB_DIR=$(dirname $(cc -print-file-name=crtbegin.o)) && make && make install" diff --git a/cmake/Findclang.cmake b/cmake/Findclang.cmake index e3dc7476c8..77c2b5bb12 100644 --- a/cmake/Findclang.cmake +++ b/cmake/Findclang.cmake @@ -16,7 +16,9 @@ find_path(CLANG_INCLUDE_DIRS NAMES clang/Frontend/ASTUnit.h find_library(CLANG_${_prettylibname_}_LIB NAMES ${_libname_} PATHS /usr/lib/llvm-4.0/lib - /mingw64/lib) + /mingw64/lib + /c/msys64/mingw64/lib + c:\\msys64\\mingw64\\lib) if(CLANG_${_prettylibname_}_LIB) set(CLANG_LIBRARIES ${CLANG_LIBRARIES} ${CLANG_${_prettylibname_}_LIB}) endif() diff --git a/cmake/Findlld.cmake b/cmake/Findlld.cmake index c4bdd89628..d20ffed6f2 100644 --- a/cmake/Findlld.cmake +++ b/cmake/Findlld.cmake @@ -20,7 +20,9 @@ else() find_library(LLD_${_prettylibname_}_LIB NAMES ${_libname_} PATHS /usr/lib/llvm-4.0/lib - /mingw64/lib) + /mingw64/lib + /c/msys64/mingw64/lib + c:/msys64/mingw64/lib) if(LLD_${_prettylibname_}_LIB) set(LLD_LIBRARIES ${LLD_LIBRARIES} ${LLD_${_prettylibname_}_LIB}) endif() diff --git a/cmake/Findllvm.cmake b/cmake/Findllvm.cmake index 02392eaef3..8459efe19c 100644 --- a/cmake/Findllvm.cmake +++ b/cmake/Findllvm.cmake @@ -10,6 +10,9 @@ find_program(LLVM_CONFIG_EXE NAMES llvm-config llvm-config-4.0 PATHS + "/mingw64/bin" + "/c/msys64/mingw64/bin" + "c:/msys64/mingw64/bin" "C:/Libraries/llvm-4.0.0/bin") execute_process(