Skip to content

Commit ea86803

Browse files
committed
dockerfile: ensuring CMake version is not greater than the latest supported one.
Signed-off-by: Marat Abrarov <[email protected]>
1 parent 7025da1 commit ea86803

File tree

2 files changed

+26
-2
lines changed

2 files changed

+26
-2
lines changed

dockerfiles/Dockerfile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ RUN echo "deb http://deb.debian.org/debian bookworm-backports main" >> /etc/apt/
4141
build-essential \
4242
curl \
4343
ca-certificates \
44-
cmake \
4544
git \
4645
make \
4746
tar \
@@ -56,6 +55,7 @@ RUN echo "deb http://deb.debian.org/debian bookworm-backports main" >> /etc/apt/
5655
flex \
5756
bison \
5857
libyaml-dev \
58+
&& apt-get satisfy -y cmake "cmake (<< 4.0)" \
5959
&& apt-get clean \
6060
&& rm -rf /var/lib/apt/lists/*
6161

@@ -254,8 +254,9 @@ RUN echo "deb http://deb.debian.org/debian bookworm-backports main" >> /etc/apt/
254254
net-tools mtr netcat-openbsd bridge-utils iperf ngrep \
255255
openssl \
256256
htop atop strace iotop sysstat ncdu logrotate hdparm pciutils psmisc tree pv \
257-
cmake make tar flex bison \
257+
make tar flex bison \
258258
libssl-dev libsasl2-dev libsystemd-dev/bookworm-backports zlib1g-dev libpq-dev libyaml-dev postgresql-server-dev-all \
259+
&& apt-get satisfy -y cmake "cmake (<< 4.0)" \
259260
&& apt-get clean \
260261
&& rm -rf /var/lib/apt/lists/*
261262

dockerfiles/Dockerfile.windows

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,29 @@ ENV VCPKG_LIBRARY_LINKAGE=static
6969
RUN vcpkg install --recurse openssl --triplet x64-windows-static; `
7070
vcpkg install --recurse libyaml --triplet x64-windows-static;
7171

72+
# CMake of required version
73+
ENV CMAKE_VERSION="3.31.6" `
74+
CMAKE_HOME="C:\cmake" `
75+
CMAKE_DOWNLOAD_URL="https://github.com/Kitware/CMake/releases/download"
76+
RUN if ([System.Version] \"${env:CMAKE_VERSION}\" -ge [System.Version] \"3.20.0\") { `
77+
$cmake_dist_base_name=\"cmake-${env:CMAKE_VERSION}-windows-x86_64\" `
78+
} else { `
79+
if ([System.Version] \"${env:CMAKE_VERSION}\" -ge [System.Version] \"3.6.0\") { `
80+
$cmake_dist_base_name=\"cmake-${env:CMAKE_VERSION}-win64-x64\" `
81+
} else { `
82+
$cmake_dist_base_name=\"cmake-${env:CMAKE_VERSION}-win32-x86\" `
83+
} `
84+
}; `
85+
$cmake_dist_name=\"${cmake_dist_base_name}.zip\"; `
86+
$cmake_dist=\"${env:TMP}\${cmake_dist_name}\"; `
87+
$cmake_url=\"${env:CMAKE_DOWNLOAD_URL}/v${env:CMAKE_VERSION}/${cmake_dist_name}\"; `
88+
Invoke-WebRequest -OutFile \"${cmake_dist}\" \"${cmake_url}\"; `
89+
$cmake_temp_dir=\"${env:TMP}\${cmake_dist_base_name}\"; `
90+
Expand-Archive \"${cmake_dist}\" -Destination \"${env:TMP}\"; `
91+
Remove-Item -Force \"${cmake_dist}\"; `
92+
[System.IO.Directory]::Move(\"${cmake_temp_dir}\", \"${env:CMAKE_HOME}\"); `
93+
Set-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment' -Name PATH -Value \"${env:CMAKE_HOME}\bin;${env:PATH}\"
94+
7295
FROM builder-base AS builder
7396

7497
# Build Fluent Bit from source - context must be the root of the Git repo

0 commit comments

Comments
 (0)