@@ -3,23 +3,36 @@ FROM --platform=linux/amd64 mcr.microsoft.com/devcontainers/cpp:1-ubuntu-22.04
33# Install software-properties-common for add-apt-repository
44RUN apt-get update && apt-get -y install software-properties-common
55
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+
615# 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 \
918 protobuf-compiler-grpc libprotobuf-dev libgrpc++-dev libgrpc-dev libgrpc++1 libgrpc10 \
1019 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 \
1221 && apt-get clean && rm -rf /var/lib/apt/lists/*
1322
1423# Install LLVM
1524RUN wget https://apt.llvm.org/llvm.sh && \
1625 chmod u+x llvm.sh && \
1726 ./llvm.sh 16
1827
19- # Update alternatives to use clang-16 and clang++-16 by default
20- RUN update-alternatives --install /usr/bin/clang clang /usr/bin/clang-16 100 && \
21- update-alternatives --install /usr/bin/clangd clangd /usr/bin/clangd-16 100 && \
22- update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-16 100
28+ # Update alternatives to use clang-16 by default
29+ RUN update-alternatives --install /usr/bin/clang clang /usr/bin/clang-16 10000 && \
30+ update-alternatives --install /usr/bin/clangd clangd /usr/bin/clangd-16 10000 && \
31+ update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-16 10000
32+
33+ # Update alternatives to use gcc-13 by default
34+ RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 10000 && \
35+ update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 10000
2336
2437# Install libiconv
2538ENV LIBICONV_VERSION=1.15
0 commit comments