gradido/login_server/Dockerfiles/Dockerfile.dependencies
2021-04-20 13:33:11 +02:00

65 lines
1.9 KiB
Docker

#########################################################################################################
# debug build preparation
#########################################################################################################
From conanio/gcc9 as build_debug_preparation
USER root
ENV DOCKER_WORKDIR="/code"
RUN mkdir -p ${DOCKER_WORKDIR}
WORKDIR ${DOCKER_WORKDIR}
COPY ./dependencies ./dependencies
COPY ./conanfile.txt ./conanfile.txt
COPY ./cmake ./cmake
# install gcovr because it is needed for coverage report
RUN apt-get update && \
apt-get install -y --no-install-recommends gcovr && \
apt-get autoclean && \
apt-get autoremove && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN cd dependencies/mariadb-connector-c && \
mkdir build && \
cd build && \
cmake -DCMAKE_BUILD_TYPE=Debug -DWITH_SSL=OFF ..
RUN mkdir build && \
cd build && \
conan install .. --build=missing -s build_type=Debug
#########################################################################################################
# debug build proto and grpc
#########################################################################################################
From build_debug_preparation as proto_grpc
ENV DOCKER_WORKDIR="/code"
WORKDIR ${DOCKER_WORKDIR}
COPY ./CMakeLists.txt .
RUN cd build && \
cmake -DCMAKE_BUILD_TYPE=Debug .. && \
make -j${CPU_COUNT} protoc grpc_cpp_plugin
#########################################################################################################
# parse proto and gettext
#########################################################################################################
From proto_grpc as proto_parse
ENV DOCKER_WORKDIR="/code"
WORKDIR ${DOCKER_WORKDIR}
RUN mkdir src && \
cd src && \
mkdir cpp
COPY ./src/proto ./src/proto
COPY ./unix_parse_proto.sh .
RUN chmod +x unix_parse_proto.sh && \
./unix_parse_proto.sh