Anastassios Martakos 4 éve
szülő
commit
bd5392b6d9
1 módosított fájl, 92 hozzáadás és 0 törlés
  1. 92 0
      Dockerfile

+ 92 - 0
Dockerfile

@@ -0,0 +1,92 @@
+# Build container: docker build . -t almond
+# Run Almond: docker run -it --rm --net=host -v /root/.Xauthority:/root/.Xauthority --env="DISPLAY" almond
+
+FROM ubuntu:20.04
+
+ARG THREADS=4
+
+ENV DEBIAN_FRONTEND noninteractive
+
+ENV SOURCE_DIR /opt/Almond
+ENV VCPKG_DIR /opt/vcpkg
+ENV VCPKG_CMAKE_TOOLCHAIN ${VCPKG_DIR}/scripts/buildsystems/vcpkg.cmake
+
+RUN apt-get update
+RUN apt-get install -y \
+                    apt-utils \
+                    tzdata \
+                    cmake \
+                    make \
+                    git \
+                    curl \
+                    unzip \
+                    tar \
+                    libx11-dev \
+                    libglu1-mesa-dev \
+                    libxi-dev \
+                    libxext-dev \
+                    xorg
+
+# install dependencies using package manager
+RUN apt-get install -y \
+                    qt5-default \
+                    libavcodec-dev \
+                    libavdevice-dev \
+                    libavfilter-dev \
+                    libavformat-dev \
+                    libavutil-dev \
+                    libswscale-dev \
+                    pkg-config \
+                    libboost-dev \
+                    ocl-icd-opencl-dev \
+                    zlib1g-dev \
+                    libpng-dev \
+                    libjpeg-dev \
+                    libpng++-dev
+
+ENV CMAKE_MAKE_PROGRAM make
+
+# use clang
+# RUN apt-get install -y clang llvm
+# ENV CMAKE_C_COMPILER clang
+# ENV CMAKE_CXX_COMPILER clang++
+
+# use gcc
+RUN apt-get install -y gcc g++
+ENV CMAKE_C_COMPILER gcc
+ENV CMAKE_CXX_COMPILER g++
+
+# Use vcpkg, takes a long time
+# Also it gives following errow when installing qt5: Failed. Status: 35;"SSL connect error"
+#
+# RUN git clone https://github.com/microsoft/vcpkg.git ${VCPKG_DIR}
+# WORKDIR ${VCPKG_DIR}
+#
+# RUN ./bootstrap-vcpkg.sh
+# RUN ./vcpkg integrate install
+# RUN ./vcpkg install qt5:x64-linux
+# RUN ./vcpkg install boost:x64-linux
+# RUN ./vcpkg install ffmpeg:x64-linux
+# RUN ./vcpkg install opencl:x64-linux
+
+WORKDIR ${SOURCE_DIR}
+COPY . ${SOURCE_DIR}
+
+ENV RELEASE_DIR ${SOURCE_DIR}/build_release
+
+RUN mkdir ${RELEASE_DIR}
+WORKDIR ${RELEASE_DIR}
+
+RUN cmake .. \
+            -DCMAKE_BUILD_TYPE=Release \
+            # -DCMAKE_TOOLCHAIN_FILE=${VCPKG_CMAKE_TOOLCHAIN} \
+            -DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} \
+            -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} \
+            -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
+
+RUN make -j ${THREADS}
+
+RUN touch ~/.Xauthority
+RUN xauth add :0 . `mcookie`
+
+CMD ./almond