ALL: updated package information and docker files

master
Martin Gerhardy 2020-09-03 19:43:10 +02:00
parent 5d215656bd
commit 64f094cf24
4 changed files with 23 additions and 25 deletions

View File

@ -1,2 +1,4 @@
/build
/.git
/.clangd
/.vscode

View File

@ -51,6 +51,7 @@ macro(engine_docker NAME)
-f - < ${DOCKERFILE_TARGET}
DEPENDS ${DOCKERFILE_TARGET} ${DOCKERFILE_SRC}
SOURCES ${DOCKERFILE_SRC}
USES_TERMINAL
COMMENT "Docker image name of ${NAME} is ${DOCKER_IMAGE_NAME_TAG}"
VERBATIM
WORKING_DIRECTORY "${ROOT_DIR}"
@ -62,6 +63,7 @@ macro(engine_docker NAME)
run
${DOCKER_RUN_ARGS}
${DOCKER_IMAGE_NAME_TAG}
USES_TERMINAL
VERBATIM
DEPENDS ${NAME}-docker
)
@ -78,6 +80,7 @@ macro(engine_docker NAME)
${DOCKER_DELETE_IUMAGE_ARGS}
${DOCKER_IMAGE_NAME_TAG}
VERBATIM
USES_TERMINAL
)
if (DOCKERCOMPOSE_EXECUTABLE AND DOCKERCOMPOSEFILE_SRC)
@ -88,6 +91,7 @@ macro(engine_docker NAME)
${DOCKERCOMPOSE_BUILD_ARGS}
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
VERBATIM
USES_TERMINAL
DEPENDS ${DOCKERCOMPOSEFILE_SRC} ${DOCKERFILE_TARGET} ${DOCKERFILE_SRC}
)
add_custom_target(${NAME}-docker-compose-up
@ -97,6 +101,7 @@ macro(engine_docker NAME)
${DOCKERCOMPOSE_UP_ARGS}
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
VERBATIM
USES_TERMINAL
DEPENDS ${DOCKERCOMPOSEFILE_SRC} ${DOCKERFILE_TARGET} ${DOCKERFILE_SRC}
)
endif()

View File

@ -8,7 +8,7 @@
* development headers/libs for
* glm
* lua >= 5.3
* lua >= 5.4
* sdl2 > 2.0.4
* postgresql-server-dev >= 9.5
* libpq
@ -27,9 +27,9 @@ the higher priority.
## Debian
```bash
apt-get install libglm-dev lua5.3 liblua5.3-dev libsdl2-dev postgresql-server-dev-all \
apt-get install libglm-dev lua5.4 liblua5.4-dev libsdl2-dev postgresql-server-dev-all \
libpq-dev libenet-dev qt5-default qttools5-dev qttools5-dev-tools opencl-c-headers \
wayland-protocols pkg-config uuid-dev libsdl2-mixer-dev
wayland-protocols pkg-config uuid-dev libsdl2-mixer-dev libuv1-dev
```
If you want to run the database server locally, you have to install the postgres server package:

View File

@ -1,40 +1,31 @@
FROM debian:buster as builder
FROM debian:bullseye as builder
MAINTAINER Martin Gerhardy <martin.gerhardy@gmail.com>
ENV DEBIAN_FRONTEND noninteractive
RUN echo 'Acquire::HTTP::Proxy "http://172.17.0.1:3142";' >> /etc/apt/apt.conf.d/01proxy \
&& echo 'Acquire::HTTPS::Proxy "false";' >> /etc/apt/apt.conf.d/01proxy
RUN apt-get update -q && apt-get install -y cmake g++ pkg-config ninja-build \
opencl-c-headers postgresql-server-dev-all \
uuid-dev ocl-icd-libopencl1
RUN apt-get update -q && apt-get install -y cmake g++ pkg-config \
opencl-c-headers postgresql-server-dev-11 \
libsdl2-dev libuv1-dev uuid-dev ocl-icd-libopencl1
ARG TARGETDIR=/tmp/@ROOT_PROJECT_NAME@
RUN mkdir ${TARGETDIR}
COPY . ${TARGETDIR}
COPY contrib /tmp/@ROOT_PROJECT_NAME@/contrib
COPY tools /tmp/@ROOT_PROJECT_NAME@/tools
COPY cmake /tmp/@ROOT_PROJECT_NAME@/cmake
COPY data /tmp/@ROOT_PROJECT_NAME@/data
COPY src /tmp/@ROOT_PROJECT_NAME@/src
COPY CMakeLists.txt /tmp/@ROOT_PROJECT_NAME@/
RUN mkdir /tmp/@ROOT_PROJECT_NAME@/build
RUN mkdir ${TARGETDIR}/build
RUN cmake --version
RUN cmake -H/tmp/@ROOT_PROJECT_NAME@ -B/tmp/@ROOT_PROJECT_NAME@/build -DUNITTESTS=OFF -DVISUALTESTS=OFF -DTOOLS=OFF -DCLIENT=OFF -DSERVER=ON -DRCON=OFF -DCMAKE_INSTALL_PREFIX=installation -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON
RUN cat /tmp/@ROOT_PROJECT_NAME@/build/engine-config.h
RUN make -C /tmp/@ROOT_PROJECT_NAME@/build -j $(nproc) server
RUN cmake -H${TARGETDIR} -B${TARGETDIR}/build -GNinja -DCMAKE_BUILD_TYPE=Release
RUN cmake --build ${TARGETDIR}/build --target server
RUN cmake --install ${TARGETDIR}/build --component server --prefix installation
FROM debian:buster
RUN echo 'Acquire::HTTP::Proxy "http://172.17.0.1:3142";' >> /etc/apt/apt.conf.d/01proxy \
&& echo 'Acquire::HTTPS::Proxy "false";' >> /etc/apt/apt.conf.d/01proxy
RUN apt-get update -q && \
apt-get install -y libatomic1 libuv1 libpq5 libsdl2-2.0.0 \
apt-get install -y libatomic1 libpq5 \
ocl-icd-libopencl1 uuid-runtime && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
COPY --from=builder /tmp/@ROOT_PROJECT_NAME@/build/@PROJECT_NAME@ /opt/@ROOT_PROJECT_NAME@/
COPY --from=builder ${TARGETDIR}/build/@PROJECT_NAME@ /opt/@ROOT_PROJECT_NAME@/
EXPOSE @SERVER_PORT@