Skip to content

Commit 0d6bbac

Browse files
committed
dockerfile: windows: building with Ninja to speedup
Signed-off-by: Marat Abrarov <abrarov@gmail.com>
1 parent bdf4659 commit 0d6bbac

File tree

1 file changed

+22
-2
lines changed

1 file changed

+22
-2
lines changed

dockerfiles/Dockerfile.windows

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,26 @@ RUN if ([System.Version] \"${env:CMAKE_VERSION}\" -ge [System.Version] \"3.20.0\
9191
Write-Host \"${env:PATH}\"; `
9292
[Environment]::SetEnvironmentVariable(\"PATH\", \"${env:PATH}\", [EnvironmentVariableTarget]::Machine);
9393

94+
ENV NINJA_HOME="C:\ninja"
95+
ARG NINJA_VERSION="1.13.2"
96+
ARG NINJA_URL="https://github.com/ninja-build/ninja/releases/download"
97+
98+
RUN $ninja_dist_name=\"ninja-win.zip\"; `
99+
$ninja_dist=\"${env:TMP}\${ninja_dist_name}\"; `
100+
$ninja_download_url=\"${env:NINJA_URL}/v${env:NINJA_VERSION}/${ninja_dist_name}\"; `
101+
Write-Host \"Downloading Ninja...\"; `
102+
Write-Host \"${ninja_download_url} -> ${ninja_dist}\"; `
103+
Invoke-WebRequest -OutFile \"${ninja_dist}\" \"${ninja_download_url}\"; `
104+
New-Item -Path \"${env:NINJA_HOME}\" -ItemType \"directory\"; `
105+
Write-Host \"Extracting Ninja...\"; `
106+
Write-Host \"${ninja_dist} -> ${env:NINJA_HOME}\"; `
107+
Expand-Archive \"${ninja_dist}\" -Destination \"${env:NINJA_HOME}\"; `
108+
Remove-Item -Force \"${ninja_dist}\"; `
109+
$env:PATH=\"${env:PATH};${env:NINJA_HOME}\"; `
110+
Write-Host \"Setting PATH...\"; `
111+
Write-Host \"${env:PATH}\"; `
112+
[Environment]::SetEnvironmentVariable(\"PATH\", \"${env:PATH}\", [EnvironmentVariableTarget]::Machine);
113+
94114
ENV WIN_FLEX_BISON_VERSION="2.5.22" `
95115
WIN_FLEX_BISON_HOME="C:\WinFlexBison" `
96116
WIN_FLEX_BISON_DOWNLOAD_URL="https://github.com/lexxmark/winflexbison/releases/download"
@@ -178,7 +198,7 @@ COPY . /src/
178198
ARG BUILD_PARALLEL=1
179199
SHELL ["cmd", "/S", "/C"]
180200
RUN call "%MSVS_HOME%\VC\Auxiliary\Build\vcvars64.bat" && `
181-
cmake -G "NMake Makefiles" `
201+
cmake -G "Ninja" `
182202
-DOPENSSL_ROOT_DIR='C:\dev\vcpkg\packages\openssl_x64-windows-static' `
183203
-DFLB_LIBYAML_DIR='C:\dev\vcpkg\packages\libyaml_x64-windows-static' `
184204
-DFLB_SIMD=On `
@@ -188,7 +208,7 @@ RUN call "%MSVS_HOME%\VC\Auxiliary\Build\vcvars64.bat" && `
188208
-DFLB_DEBUG=Off `
189209
-DFLB_RELEASE=On `
190210
..\ && `
191-
cmake --build . --config Release -j "%BUILD_PARALLEL%"
211+
cmake --build . -j "%BUILD_PARALLEL%"
192212

193213
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
194214

0 commit comments

Comments
 (0)