Skip to content

Instantly share code, notes, and snippets.

@StefanoLusardi
Last active April 13, 2022 20:05
Show Gist options
  • Select an option

  • Save StefanoLusardi/bd7f7d295fe328512f284ec1b040996b to your computer and use it in GitHub Desktop.

Select an option

Save StefanoLusardi/bd7f7d295fe328512f284ec1b040996b to your computer and use it in GitHub Desktop.
Dockerfile example for setup C++/CMake/Conan toolchain
FROM ubuntu:20.04
# Setup Build tools
RUN apt-get update -qq && export DEBIAN_FRONTEND=noninteractive && \
apt-get install -y --no-install-recommends \
make cmake ninja-build gcc-10 g++-10 \
python3 python3-pip
ENV CC=gcc-10
ENV CXX=gcc-10
# Setup Conan
RUN python3 -m pip install --upgrade pip setuptools && \
python3 -m pip install conan && \
conan profile new default --detect && \
conan profile update settings.compiler=gcc default && \
conan profile update settings.compiler.version=10 default && \
conan profile update settings.compiler.libcxx=libstdc++11 default
ENV CONAN_SYSREQUIRES_SUDO 0
ENV CONAN_SYSREQUIRES_MODE enabled
# Install Conan packages
WORKDIR docker_conan
COPY /conanfile.txt .
WORKDIR build
RUN conan install .. --build missing
# CMake Configure
# ...
# CMake Build
# ...
ENTRYPOINT ["/bin/bash"]
# docker build . --rm -t docker_conan:latest
# docker run --rm -it docker_conan
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment