Skip to content

Commit 9fce4d4

Browse files
committed
Revise Dockerfile
1 parent 450ef0a commit 9fce4d4

File tree

1 file changed

+29
-37
lines changed

1 file changed

+29
-37
lines changed

Dockerfile

+29-37
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,53 @@
1-
ARG BASE=ubuntu:20.04
1+
ARG BASE=cginternals/graphics-base:latest
2+
ARG BASE_DEV=cginternals/graphics-base:dev
23
ARG PROJECT_NAME=glkernel
3-
ARG WORKSPACE=/workspace
44

55
# BUILD
66

7-
FROM $BASE AS glkernel-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 glkernel_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 --reinstall ca-certificates
19-
RUN apt install -y --no-install-recommends cmake git build-essential
14+
WORKDIR $WORKSPACE/$PROJECT_NAME
2015

21-
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 LICENSE LICENSE
24+
ADD README.md README.md
25+
ADD AUTHORS AUTHORS
2226

23-
WORKDIR $WORKSPACE
27+
RUN ./configure
28+
RUN CMAKE_OPTIONS="-DOPTION_BUILD_TESTS=Off" ./configure
29+
RUN cmake --build build -- $COMPILER_FLAGS
2430

25-
RUN git clone --depth=1 --branch=0.9.9.8 https://github.com/g-truc/glm.git
26-
ENV glm_DIR=$WORKSPACE/glm/cmake
31+
# INSTALL
2732

28-
ADD cmake $PROJECT_NAME/cmake
29-
ADD docs $PROJECT_NAME/docs
30-
ADD deploy $PROJECT_NAME/deploy
31-
ADD source $PROJECT_NAME/source
32-
ADD CMakeLists.txt $PROJECT_NAME/CMakeLists.txt
33-
ADD configure $PROJECT_NAME/configure
34-
ADD $PROJECT_NAME-config.cmake $PROJECT_NAME/$PROJECT_NAME-config.cmake
35-
ADD LICENSE $PROJECT_NAME/LICENSE
36-
ADD README.md $PROJECT_NAME/README.md
37-
ADD AUTHORS $PROJECT_NAME/AUTHORS
33+
FROM build as install
3834

39-
ENV CMAKE_PREFIX_PATH=$WORKSPACE
35+
ARG PROJECT_NAME
4036

41-
WORKDIR $PROJECT_DIR
42-
RUN ./configure
43-
RUN CMAKE_OPTIONS="-DOPTION_BUILD_TESTS=Off -DCMAKE_INSTALL_PREFIX=$WORKSPACE/$PROJECT_NAME-install" ./configure
44-
RUN cmake --build build -- $COMPILER_FLAGS
37+
WORKDIR $WORKSPACE/$PROJECT_NAME
38+
39+
RUN CMAKE_OPTIONS="-DCMAKE_INSTALL_PREFIX=$WORKSPACE/$PROJECT_NAME-install" ./configure
4540
RUN cmake --build build --target install
4641

4742
# DEPLOY
4843

49-
FROM $BASE AS cppexpose
44+
FROM $BASE AS deploy
5045

5146
ARG PROJECT_NAME
52-
ARG WORKSPACE
53-
54-
ENV DEBIAN_FRONTEND=noninteractive
5547

56-
RUN apt update
57-
RUN apt install -y --no-install-recommends cmake
48+
ENV glm_DIR="$WORKSPACE/glm"
49+
ENV glkernel_DIR="$WORKSPACE/$PROJECT_NAME"
5850

59-
COPY --from=glkernel-build $WORKSPACE/glm $WORKSPACE/glm
51+
COPY --from=build $WORKSPACE/glm $WORKSPACE/glm
6052

61-
COPY --from=glkernel-build $WORKSPACE/$PROJECT_NAME-install $WORKSPACE/$PROJECT_NAME
53+
COPY --from=install $WORKSPACE/$PROJECT_NAME-install $WORKSPACE/$PROJECT_NAME

0 commit comments

Comments
 (0)