authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2017-10-16 09:10:20-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2017-10-16 12:22:13-04:00
log1d88f9b9a61b98584581770d3d9acb07403bb58f
tree2b47e922db07f861590e79fd274a7c49b744690b
parentcbb6d2239f84ee13279655fc591530a23301d188

appveyor: build with msvc and publish artifacts

See #540

4 files changed, 48 insertions(+), 4 deletions(-)

CMakeLists.txt+3-3
......@@ -149,7 +149,7 @@ else()
149149 add_library(embedded_lld_elf ${EMBEDDED_LLD_ELF_SOURCES})
150150 add_library(embedded_lld_coff ${EMBEDDED_LLD_COFF_SOURCES})
151151 if(MSVC)
152 set(ZIG_LLD_COMPILE_FLAGS "-std=c++11 -D_CRT_SECURE_NO_WARNINGS")
152 set(ZIG_LLD_COMPILE_FLAGS "-std=c++11 -D_CRT_SECURE_NO_WARNINGS /w")
153153 else()
154154 set(ZIG_LLD_COMPILE_FLAGS "-std=c++11 -fno-exceptions -fno-rtti -Wno-comment")
155155 endif()
......@@ -303,7 +303,7 @@ set(EMBEDDED_SOFTFLOAT_SOURCES
303303add_library(embedded_softfloat ${EMBEDDED_SOFTFLOAT_SOURCES})
304304if(MSVC)
305305 set_target_properties(embedded_softfloat PROPERTIES
306 COMPILE_FLAGS "-std=c99"
306 COMPILE_FLAGS "-std=c99 /w"
307307 )
308308else()
309309 set_target_properties(embedded_softfloat PROPERTIES
......@@ -359,7 +359,7 @@ include_directories(
359359)
360360
361361if(MSVC)
362 set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
362 set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /w")
363363elseif(MINGW)
364364 set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall -Werror -Wno-error=format= -Wno-error=format -Wno-error=format-extra-args")
365365else()
ci/appveyor/after_build.bat created+14
......@@ -0,0 +1,14 @@
1@echo on
2cd %APPVEYOR_BUILD_FOLDER%
3
4build-msvc-release\bin\zig.exe version >version.txt
5set /p ZIGVERSION=<version.txt
6SET "RELEASEDIR=zig-%ZIGVERSION%"
7mkdir "%RELEASEDIR%"
8move build-msvc-release\bin\zig.exe "%RELEASEDIR%"
9move build-msvc-release\lib "%RELEASEDIR%"
10
11SET "RELEASEZIP=zig-%ZIGVERSION%.zip"
12
137z a "%RELEASEZIP%" "%RELEASEDIR%"
14appveyor PushArtifact "%RELEASEZIP%"
ci/appveyor/appveyor.yml+4
......@@ -3,3 +3,7 @@ platform:
33 - x64
44build_script:
55 - '%APPVEYOR_BUILD_FOLDER%\ci\appveyor\build_script.bat'
6after_build:
7 - '%APPVEYOR_BUILD_FOLDER%\ci\appveyor\after_build.bat'
8cache:
9 - 'llvm+clang-5.0.0-win64-msvc-release.tar.xz'
ci/appveyor/build_script.bat+27-1
......@@ -1,11 +1,37 @@
11@echo on
2echo %APPVEYOR_BUILD_FOLDER%
2cd %APPVEYOR_BUILD_FOLDER%
3SET "PREVPATH=%PATH%"
4SET "PREVMSYSEM=%MSYSTEM%"
5
6SET "PATH=C:\msys64\mingw64\bin;C:\msys64\usr\bin;%PATH%"
7SET "MSYSTEM=MINGW64"
8SET "APPVEYOR_CACHE_ENTRY_ZIP_ARGS=-m0=Copy"
9
10bash -lc "cd ${APPVEYOR_BUILD_FOLDER} && if [ -s ""llvm+clang-5.0.0-win64-msvc-release.tar.xz"" ]; then echo 'skipping LLVM download'; else wget 'https://s3.amazonaws.com/superjoe/temp/llvm%%2bclang-5.0.0-win64-msvc-release.tar.xz'; fi && tar xf llvm+clang-5.0.0-win64-msvc-release.tar.xz" || exit /b
11
12
13SET "PATH=%PREVPATH%"
14SET "MSYSTEM=%PREVMSYSTEM%"
15SET "ZIGBUILDDIR=%APPVEYOR_BUILD_FOLDER%\build-msvc-release"
16SET "ZIGPREFIXPATH=%APPVEYOR_BUILD_FOLDER%\llvm+clang-5.0.0-win64-msvc-release"
17
18mkdir %ZIGBUILDDIR%
19cd %ZIGBUILDDIR%
20cmake.exe .. -Thost=x64 -G"Visual Studio 14 2015 Win64" "-DCMAKE_INSTALL_PREFIX=%ZIGBUILDDIR%" "-DCMAKE_PREFIX_PATH=%ZIGPREFIXPATH%" -DCMAKE_BUILD_TYPE=Release "-DZIG_LIBC_INCLUDE_DIR=C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt" "-DZIG_LIBC_LIB_DIR=C:\Program Files (x86)\Windows Kits\10\bin\x64\ucrt" "-DZIG_LIBC_STATIC_LIB_DIR=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\ucrt\x64" || exit /b
21msbuild /p:Configuration=Release INSTALL.vcxproj || exit /b
22
23bin\zig.exe build --build-file ..\build.zig test || exit /b
24
25@echo "MSVC build succeeded, proceeding with MinGW build"
326cd %APPVEYOR_BUILD_FOLDER%
427SET "PATH=C:\msys64\mingw64\bin;C:\msys64\usr\bin;%PATH%"
528SET "MSYSTEM=MINGW64"
629
730bash -lc "pacman -Syu --needed --noconfirm"
831bash -lc "pacman -Su --needed --noconfirm"
32
933bash -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"
1034
1135bash -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"
36
37@echo "MinGW build successful"