FROM debian:bullseye ## Dependencies RUN apt update -y RUN apt install -y git cmake make gcc g++ libboost-dev libgl-dev RUN apt install -y libboost-date-time-dev libboost-thread-dev libboost-log-dev libboost-filesystem-dev libboost-program-options-dev libboost-regex-dev RUN apt install -y libopenscenegraph-dev RUN apt install -y qtbase5-dev RUN apt install -y wget unzip RUN apt install -y vim xterm mesa-utils # for debugging only RUN apt install -y libgl1-mesa-glx # for intel gpu hardware acceleration ## OIS WORKDIR /usr/src RUN git clone https://github.com/wgois/OIS WORKDIR /usr/src/OIS/build RUN cmake .. RUN make -j5 RUN make install ## CIGI CCL WORKDIR /usr/src RUN wget 'https://udomain.dl.sourceforge.net/project/cigi/CIGI%20Class%20Library%20%28CCL%29/CCL%20Version%204.0.6a/ccl_4_0%20rev6a.zip' RUN unzip 'ccl_4_0 rev6a.zip' && cd 'ccl_4_0 rev6a' && sh ./configure && make -j5 && make install ## SkyboltDependenciesHeaderOnly WORKDIR /usr/src RUN git clone https://github.com/Piraxus/SkyboltDependenciesHeaderOnly ENV SKYBOLT_DEPS=/usr/src/SkyboltDependenciesHeaderOnly ## Skybolt + patches RUN echo patches against Skybolt master c662c1efbe62dbc20350dccddf20f43e072543a2 WORKDIR /usr/src RUN git clone --depth=1 https://github.com/Piraxus/Skybolt.git WORKDIR /usr/src/Skybolt/build COPY patches/skybolt/*.patch ./ RUN \ git config --global user.email "you@example.com" && \ git config --global user.name "Your Name" RUN git am --ignore-whitespace *.patch RUN json_DIR=${SKYBOLT_DEPS}/json \ catch_DIR=${SKYBOLT_DEPS}/catch \ glm_DIR=${SKYBOLT_DEPS}/glm \ cxxtimer_DIR=${SKYBOLT_DEPS}/cxxtimer \ earcut_DIR=${SKYBOLT_DEPS}/earcut \ httplib_DIR=${SKYBOLT_DEPS}/httplib \ px_sched_DIR=${SKYBOLT_DEPS}/px_sched \ OGRE_DEPENDENCIES_DIR="/usr/local" \ cmake .. \ -D CMAKE_CXX_COMPILER=g++ \ -D CMAKE_CXX_FLAGS="-DBOOST_LOG_DYN_LINK -Wno-register" \ -D CMAKE_POSITION_INDEPENDENT_CODE=ON # -D BUILD_CIGI_COMPONENT_PLUGIN=ON RUN (cd src/Skybolt/SkyboltVisTests && ln -s ../../../.. Source) RUN make -j5 ## Asset packages WORKDIR /usr/src/Skybolt/Assets COPY Core_1_0_0.zip EarthMed_1_0_0.zip Seattle_1_0_0.zip ./ RUN unzip Core_1_0_0.zip && unzip EarthMed_1_0_0.zip && unzip Seattle_1_0_0.zip WORKDIR /usr/src/Skybolt