######################################################################################################### # 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 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