Skip to content

Commit f0c7c79

Browse files
committed
Revise Dockerfile
1 parent 9a2565f commit f0c7c79

File tree

1 file changed

+33
-34
lines changed

1 file changed

+33
-34
lines changed

Dockerfile

Lines changed: 33 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,55 @@
1-
ARG BASE=ubuntu:20.04
1+
ARG BASE=cginternals/cpp-base:latest
2+
ARG BASE_DEV=cginternals/cpp-base:dev
23
ARG PROJECT_NAME=cppassist
3-
ARG WORKSPACE=/workspace
44

55
# BUILD
66

7-
FROM $BASE AS cppassist-build
7+
FROM $BASE_DEV AS build
88

99
ARG PROJECT_NAME
10-
ARG WORKSPACE
1110
ARG COMPILER_FLAGS="-j 4"
1211

13-
ENV DEBIAN_FRONTEND=noninteractive
12+
ENV cppassist_DIR="$WORKSPACE/$PROJECT_NAME"
1413

15-
RUN apt update
16-
RUN apt install -y --no-install-recommends sudo \
17-
&& echo 'user ALL=(ALL) NOPASSWD: ALL' >/etc/sudoers.d/user
18-
RUN apt install -y --no-install-recommends cmake git build-essential
14+
WORKDIR $WORKSPACE/$PROJECT_NAME
1915

20-
ENV PROJECT_DIR="$WORKSPACE/$PROJECT_NAME"
16+
ADD cmake cmake
17+
ADD docs docs
18+
ADD deploy deploy
19+
ADD source source
20+
ADD 3rdparty 3rdparty
21+
ADD CMakeLists.txt CMakeLists.txt
22+
ADD configure configure
23+
ADD $PROJECT_NAME-config.cmake $PROJECT_NAME-config.cmake
24+
ADD $PROJECT_NAME-logo.png $PROJECT_NAME-logo.png
25+
ADD $PROJECT_NAME-logo.svg $PROJECT_NAME-logo.svg
26+
ADD LICENSE LICENSE
27+
ADD README.md README.md
28+
ADD AUTHORS AUTHORS
2129

22-
WORKDIR $WORKSPACE
23-
24-
ADD cmake $PROJECT_NAME/cmake
25-
ADD docs $PROJECT_NAME/docs
26-
ADD deploy $PROJECT_NAME/deploy
27-
ADD source $PROJECT_NAME/source
28-
ADD 3rdparty $PROJECT_NAME/3rdparty
29-
ADD CMakeLists.txt $PROJECT_NAME/CMakeLists.txt
30-
ADD configure $PROJECT_NAME/configure
31-
ADD $PROJECT_NAME-config.cmake $PROJECT_NAME/$PROJECT_NAME-config.cmake
32-
ADD $PROJECT_NAME-logo.png $PROJECT_NAME/$PROJECT_NAME-logo.png
33-
ADD $PROJECT_NAME-logo.svg $PROJECT_NAME/$PROJECT_NAME-logo.svg
34-
ADD LICENSE $PROJECT_NAME/LICENSE
35-
ADD README.md $PROJECT_NAME/README.md
36-
ADD AUTHORS $PROJECT_NAME/AUTHORS
37-
38-
WORKDIR $PROJECT_DIR
3930
RUN ./configure
40-
RUN CMAKE_OPTIONS="-DOPTION_BUILD_TESTS=Off -DCMAKE_INSTALL_PREFIX=$WORKSPACE/$PROJECT_NAME-install" ./configure
31+
RUN CMAKE_OPTIONS="-DOPTION_BUILD_TESTS=Off" ./configure
4132
RUN cmake --build build -- $COMPILER_FLAGS
33+
34+
# INSTALL
35+
36+
FROM build as install
37+
38+
ARG PROJECT_NAME
39+
40+
WORKDIR $WORKSPACE/$PROJECT_NAME
41+
42+
RUN CMAKE_OPTIONS="-DCMAKE_INSTALL_PREFIX=$WORKSPACE/$PROJECT_NAME-install" ./configure
4243
RUN cmake --build build --target install
4344

4445
# DEPLOY
4546

46-
FROM $BASE AS cppassist
47+
FROM $BASE AS deploy
4748

4849
ARG PROJECT_NAME
49-
ARG WORKSPACE
5050

51-
ENV DEBIAN_FRONTEND=noninteractive
51+
ENV cppassist_DIR="$WORKSPACE/$PROJECT_NAME"
5252

53-
RUN apt update
54-
RUN apt install -y --no-install-recommends cmake
53+
COPY --from=install $WORKSPACE/$PROJECT_NAME-install $WORKSPACE/$PROJECT_NAME
5554

56-
COPY --from=cppassist-build $WORKSPACE/$PROJECT_NAME-install $WORKSPACE/$PROJECT_NAME
55+
ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$WORKSPACE/$PROJECT_NAME/lib

0 commit comments

Comments
 (0)