authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-10-16 23:35:07-04:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2019-10-16 23:35:07-04:00
log0cb1c1696f4bf19a8652100f5ee62262d51b0127
tree53813e1c75490e6cd19088bd057de21f640023b8
parentf80c01f9d8367ee904d8e01666cd6136dafd6213
parent93295f3b134e58477e4f28be378123ceb6d1ddfe
signaturebadge-question-mark Signed by PGP key 4AEE18F83AFDEB23

Merge pull request #3467 from ziglang/windows-static-linking

Fully static stage1 compiler on windows

5 files changed, 36 insertions(+), 7 deletions(-)

CMakeLists.txt+5-1
......@@ -10,10 +10,14 @@ if(NOT CMAKE_INSTALL_PREFIX)
1010 "Directory to install zig to" FORCE)
1111endif()
1212
13set(CMAKE_USER_MAKE_RULES_OVERRIDE
14 ${CMAKE_CURRENT_SOURCE_DIR}/cmake/c_flag_overrides.cmake)
15set(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX
16 ${CMAKE_CURRENT_SOURCE_DIR}/cmake/cxx_flag_overrides.cmake)
17
1318project(zig C CXX)
1419set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
1520
16
1721set(ZIG_VERSION_MAJOR 0)
1822set(ZIG_VERSION_MINOR 5)
1923set(ZIG_VERSION_PATCH 0)
ci/azure/windows_install+2-2
......@@ -6,5 +6,5 @@ set -e
66pacman -Su --needed --noconfirm
77pacman -S --needed --noconfirm wget p7zip python3-pip
88pip install s3cmd
9wget -nv "https://ziglang.org/deps/llvm%2bclang-9.0.0-win64-msvc-release.tar.xz"
10tar xf llvm+clang-9.0.0-win64-msvc-release.tar.xz
9wget -nv "https://ziglang.org/deps/llvm%2bclang-9.0.0-win64-msvc-mt.tar.xz"
10tar xf llvm+clang-9.0.0-win64-msvc-mt.tar.xz
ci/azure/windows_script.bat+3-4
......@@ -11,15 +11,14 @@ SET "MSYSTEM=%PREVMSYSTEM%"
1111
1212SET "ZIGBUILDDIR=%SRCROOT%\build"
1313SET "ZIGINSTALLDIR=%ZIGBUILDDIR%\dist"
14SET "ZIGPREFIXPATH=%SRCROOT%\llvm+clang-9.0.0-win64-msvc-release"
14SET "ZIGPREFIXPATH=%SRCROOT%\llvm+clang-9.0.0-win64-msvc-mt"
1515
1616call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
1717
1818mkdir %ZIGBUILDDIR%
1919cd %ZIGBUILDDIR%
20REM Here we use MinSizeRel instead of Release to work around https://github.com/ziglang/zig/issues/3024
21cmake.exe .. -Thost=x64 -G"Visual Studio 16 2019" -A x64 "-DCMAKE_INSTALL_PREFIX=%ZIGINSTALLDIR%" "-DCMAKE_PREFIX_PATH=%ZIGPREFIXPATH%" -DCMAKE_BUILD_TYPE=MinSizeRel || exit /b
22msbuild /maxcpucount /p:Configuration=MinSizeRel INSTALL.vcxproj || exit /b
20cmake.exe .. -Thost=x64 -G"Visual Studio 16 2019" -A x64 "-DCMAKE_INSTALL_PREFIX=%ZIGINSTALLDIR%" "-DCMAKE_PREFIX_PATH=%ZIGPREFIXPATH%" -DCMAKE_BUILD_TYPE=Release || exit /b
21msbuild /maxcpucount /p:Configuration=Release INSTALL.vcxproj || exit /b
2322
2423"%ZIGINSTALLDIR%\bin\zig.exe" build test || exit /b
2524
cmake/c_flag_overrides.cmake created+13
......@@ -0,0 +1,13 @@
1if(MSVC)
2 set(CMAKE_C_FLAGS_DEBUG_INIT
3 "/D_DEBUG /MTd /Zi /Ob0 /Od /RTC1")
4
5 set(CMAKE_C_FLAGS_MINSIZEREL_INIT
6 "/MT /O1 /Ob1 /D NDEBUG")
7
8 set(CMAKE_C_FLAGS_RELEASE_INIT
9 "/MT /O2 /Ob1 /D NDEBUG")
10
11 set(CMAKE_C_FLAGS_RELWITHDEBINFO_INIT
12 "/MT /Zi /O2 /Ob1 /D NDEBUG")
13endif()
cmake/cxx_flag_overrides.cmake created+13
......@@ -0,0 +1,13 @@
1if(MSVC)
2 set(CMAKE_CXX_FLAGS_DEBUG_INIT
3 "/D_DEBUG /MTd /Zi /Ob0 /Od /RTC1")
4
5 set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT
6 "/MT /O1 /Ob1 /D NDEBUG")
7
8 set(CMAKE_CXX_FLAGS_RELEASE_INIT
9 "/MT /O2 /Ob1 /D NDEBUG")
10
11 set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT
12 "/MT /Zi /O2 /Ob1 /D NDEBUG")
13endif()