Dockerfile.conan 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. # Copyright The OpenTelemetry Authors
  2. # SPDX-License-Identifier: Apache-2.0
  3. FROM ubuntu:24.04@sha256:1e622c5f073b4f6bfad6632f2616c7f59ef256e96fe78bf6a595d1dc4376ac02
  4. RUN apt update && apt install -y \
  5. build-essential \
  6. ca-certificates \
  7. wget \
  8. cmake \
  9. git \
  10. sudo \
  11. nano \
  12. pkg-config \
  13. ninja-build \
  14. clang-format \
  15. clang-tidy \
  16. autoconf \
  17. automake \
  18. libtool \
  19. python3-pip
  20. RUN pip install "conan==2.15.1" --break-system-packages
  21. ARG USER_UID=1000
  22. ARG USER_GID=1000
  23. ARG USER_NAME=devuser
  24. ENV USER_NAME=devuser
  25. ENV USER_UID=${USER_UID}
  26. ENV USER_GID=${USER_GID}
  27. ENV INSTALL_PACKAGES=
  28. ENV IS_CONTAINER_BUILD=true
  29. COPY ./.devcontainer/customize_container.sh /tmp/opentelemetry_cpp/devcontainer/customize_container.sh
  30. RUN /tmp/opentelemetry_cpp/devcontainer/customize_container.sh
  31. USER devuser
  32. RUN conan profile detect --force
  33. ARG CONAN_FILE=conanfile_stable.txt
  34. ARG CONAN_BUILD_TYPE=Debug
  35. ARG CXX_STANDARD=17
  36. WORKDIR /home/devuser/conan
  37. COPY ./install/conan/ .
  38. RUN conan install ./${CONAN_FILE} --build=missing -s build_type=${CONAN_BUILD_TYPE}
  39. ENV CMAKE_TOOLCHAIN_FILE=/home/devuser/conan/build/${CONAN_BUILD_TYPE}/generators/conan_toolchain.cmake
  40. ENV CXX_STANDARD=${CXX_STANDARD}
  41. ENV BUILD_TYPE=${CONAN_BUILD_TYPE}
  42. ENV CONAN_FILE=${CONAN_FILE}
  43. WORKDIR /workspaces/opentelemetry-cpp
  44. ENTRYPOINT []
  45. CMD ["/bin/bash"]