Skip to content

Commit 44cd950

Browse files
committed
dockerfile: building with Ninja on Windows to speedup
Signed-off-by: Marat Abrarov <abrarov@gmail.com>
1 parent 48dd555 commit 44cd950

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
@@ -94,6 +94,26 @@ RUN if ([System.Version] \"${env:CMAKE_VERSION}\" -ge [System.Version] \"3.20.0\
9494
Write-Host \"${env:PATH}\"; `
9595
[Environment]::SetEnvironmentVariable(\"PATH\", \"${env:PATH}\", [EnvironmentVariableTarget]::Machine);
9696

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

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

0 commit comments

Comments
 (0)