@@ -3,24 +3,37 @@ FROM --platform=linux/amd64 mcr.microsoft.com/devcontainers/cpp:1-ubuntu-22.04
3
3
# Install software-properties-common for add-apt-repository
4
4
RUN apt-get update && apt-get -y install software-properties-common
5
5
6
+ # Install CMake
7
+ ENV CMAKE_VERSION=3.27.7
8
+ RUN add-apt-repository ppa:ubuntu-toolchain-r/test && apt-get -y update && apt-get -y install make && \
9
+ wget https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}.tar.gz && \
10
+ tar -xvzf cmake-${CMAKE_VERSION}.tar.gz && cd cmake-${CMAKE_VERSION} && \
11
+ ./bootstrap && \
12
+ make -j$(nproc) && \
13
+ make install
14
+
6
15
# Install C++ tools and libraries
7
- RUN add-apt-repository ppa:ubuntu-toolchain-r/test && apt-get -y update && apt-get -y install \
8
- git gdb cmake ninja-build libidn11-dev ragel yasm protobuf-compiler \
16
+ RUN apt-get -y update && apt-get -y install \
17
+ git gdb ninja-build libidn11-dev ragel yasm protobuf-compiler \
9
18
protobuf-compiler-grpc libprotobuf-dev libgrpc++-dev libgrpc-dev libgrpc++1 libgrpc10 \
10
19
rapidjson-dev zlib1g-dev libxxhash-dev libzstd-dev libsnappy-dev libgtest-dev libgmock-dev \
11
- libbz2-dev libdouble-conversion-dev libstdc++-13-dev liblz4-dev libssl-dev \
20
+ libbz2-dev libdouble-conversion-dev libstdc++-13-dev gcc-13 g++-13 liblz4-dev libssl-dev \
12
21
&& apt-get clean && rm -rf /var/lib/apt/lists/*
13
22
14
23
# Install LLVM
15
24
RUN wget https://apt.llvm.org/llvm.sh && \
16
25
chmod u+x llvm.sh && \
17
26
./llvm.sh 16
18
27
19
- # Update alternatives to use clang-16 and clang++-16 by default
28
+ # Update alternatives to use clang-16 by default
20
29
RUN update-alternatives --install /usr/bin/clang clang /usr/bin/clang-16 100 && \
21
30
update-alternatives --install /usr/bin/clangd clangd /usr/bin/clangd-16 100 && \
22
31
update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-16 100
23
32
33
+ # Update alternatives to use gcc-13 by default
34
+ RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 100 && \
35
+ update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 100
36
+
24
37
# Install libiconv
25
38
ENV LIBICONV_VERSION=1.15
26
39
RUN wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-${LIBICONV_VERSION}.tar.gz && \
0 commit comments