Skip to content

Commit 1a7786d

Browse files
committed
Revise Dockerfile
1 parent e041ddc commit 1a7786d

File tree

1 file changed

+32
-33
lines changed

1 file changed

+32
-33
lines changed

Dockerfile

Lines changed: 32 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,54 @@
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=cppfs
3-
ARG WORKSPACE=/workspace
44

55
# BUILD
66

7-
FROM $BASE AS cppfs-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 cppfs_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 CMakeLists.txt CMakeLists.txt
21+
ADD configure configure
22+
ADD $PROJECT_NAME-config.cmake $PROJECT_NAME-config.cmake
23+
ADD $PROJECT_NAME-logo.png $PROJECT_NAME-logo.png
24+
ADD $PROJECT_NAME-logo.svg $PROJECT_NAME-logo.svg
25+
ADD LICENSE LICENSE
26+
ADD README.md README.md
27+
ADD AUTHORS AUTHORS
2128

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 CMakeLists.txt $PROJECT_NAME/CMakeLists.txt
29-
ADD configure $PROJECT_NAME/configure
30-
ADD $PROJECT_NAME-config.cmake $PROJECT_NAME/$PROJECT_NAME-config.cmake
31-
ADD $PROJECT_NAME-logo.png $PROJECT_NAME/$PROJECT_NAME-logo.png
32-
ADD $PROJECT_NAME-logo.svg $PROJECT_NAME/$PROJECT_NAME-logo.svg
33-
ADD LICENSE $PROJECT_NAME/LICENSE
34-
ADD README.md $PROJECT_NAME/README.md
35-
ADD AUTHORS $PROJECT_NAME/AUTHORS
36-
37-
WORKDIR $PROJECT_DIR
3829
RUN ./configure
39-
RUN CMAKE_OPTIONS="-DOPTION_BUILD_TESTS=Off -DCMAKE_INSTALL_PREFIX=$WORKSPACE/$PROJECT_NAME-install" ./configure
30+
RUN CMAKE_OPTIONS="-DOPTION_BUILD_TESTS=Off" ./configure
4031
RUN cmake --build build -- $COMPILER_FLAGS
32+
33+
# INSTALL
34+
35+
FROM build as install
36+
37+
ARG PROJECT_NAME
38+
39+
WORKDIR $WORKSPACE/$PROJECT_NAME
40+
41+
RUN CMAKE_OPTIONS="-DCMAKE_INSTALL_PREFIX=$WORKSPACE/$PROJECT_NAME-install" ./configure
4142
RUN cmake --build build --target install
4243

4344
# DEPLOY
4445

45-
FROM $BASE AS cppfs
46+
FROM $BASE AS deploy
4647

4748
ARG PROJECT_NAME
48-
ARG WORKSPACE
4949

50-
ENV DEBIAN_FRONTEND=noninteractive
50+
ENV cppfs_DIR="$WORKSPACE/$PROJECT_NAME"
5151

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

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

0 commit comments

Comments
 (0)