Skip to content

Commit c0bcb90

Browse files
feat(cpp): parameterise the image by compiler version
1 parent 401f9e5 commit c0bcb90

1 file changed

Lines changed: 16 additions & 11 deletions

File tree

src/cpp/Dockerfile

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,28 @@ FROM mcr.microsoft.com/devcontainers/base:ubuntu-24.04
33
USER root
44
SHELL [ "/bin/bash", "-c" ]
55

6+
ARG GCC_VERSION=14
7+
ARG LLVM_VERSION=20
8+
69
ADD llvm-snapshot.gpg.key.asc /etc/apt/trusted.gpg.d/llvm-snapshot.asc
710
RUN export DEBIAN_FRONTEND=noninteractive; \
8-
echo "deb http://apt.llvm.org/$(lsb_release -cs)/ llvm-toolchain-$(lsb_release -cs)-20 main" >> /etc/apt/sources.list \
11+
echo "deb http://apt.llvm.org/$(lsb_release -cs)/ llvm-toolchain-$(lsb_release -cs)-${LLVM_VERSION} main" >> /etc/apt/sources.list \
912
&& apt-get -qq update && apt-get -qq install --no-install-recommends \
1013
bash-completion \
1114
build-essential \
12-
clang-20 \
13-
clang-format-20 \
14-
clang-tidy-20 \
15-
clang++-20 \
16-
clangd-20 \
15+
clang-${LLVM_VERSION} \
16+
clang-format-${LLVM_VERSION} \
17+
clang-tidy-${LLVM_VERSION} \
18+
clang++-${LLVM_VERSION} \
19+
clangd-${LLVM_VERSION} \
1720
curl \
18-
g++-14 \
19-
gcc-14 \
21+
g++-${GCC_VERSION} \
22+
gcc-${GCC_VERSION} \
2023
gdb \
2124
git \
22-
llvm-dap-20 \
25+
golang \
26+
lldb-dap-${LLVM_VERSION} \
27+
nasm \
2328
ninja-build \
2429
pipx \
2530
pkg-config \
@@ -36,8 +41,8 @@ RUN export DEBIAN_FRONTEND=noninteractive; \
3641
&& apt-get -qq autoremove \
3742
&& apt-get -qq clean \
3843
&& rm -rf /var/lib/apt/lists/* \
39-
&& update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 140 --slave /usr/bin/g++ g++ /usr/bin/g++-14 \
40-
&& update-alternatives --install /usr/bin/clang clang /usr/bin/clang-20 200 --slave /usr/bin/clang++ clang++ /usr/bin/clang++-20 --slave /usr/bin/clangd clangd /usr/bin/clangd-20
44+
&& update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${GCC_VERSION} ${GCC_VERSION}0 --slave /usr/bin/g++ g++ /usr/bin/g++-${GCC_VERSION} \
45+
&& update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${LLVM_VERSION} ${LLVM_VERSION}0 --slave /usr/bin/clang++ clang++ /usr/bin/clang++-${LLVM_VERSION} --slave /usr/bin/clangd clangd /usr/bin/clangd-${LLVM_VERSION} --slave /usr/bin/lldb-dap lldb-dap /usr/bin/lldb-dap-${LLVM_VERSION}
4146

4247
ARG CMAKE_VERSION="3.31.7"
4348
RUN declare -A archs=( ["amd64"]="x86_64" ["arm64"]="aarch64" ); \

0 commit comments

Comments
 (0)