Files
lms/Dockerfile-build
T
2021-09-26 14:47:24 +02:00

54 lines
1.2 KiB
Plaintext

FROM --platform=$BUILDPLATFORM tonistiigi/xx AS xx
FROM --platform=$BUILDPLATFORM alpine:3.14
ARG TARGETPLATFORM
WORKDIR /tmp/workdir
ARG PREFIX="/tmp/install"
ARG BUILD_PACKAGES="\
clang \
make \
cmake \
lld \
curl \
tree \
pkgconfig"
RUN apk add --no-cache ${BUILD_PACKAGES}
ARG LMS_BUILD_PACKAGES=" \
gcc \
g++ \
musl-dev \
boost-dev \
ffmpeg-dev \
libconfig-dev \
taglib-dev \
wt-dev \
gtest-dev"
# copy xx scripts to your build stage
COPY --from=xx / /
RUN xx-apk add --no-scripts --no-cache ${LMS_BUILD_PACKAGES}
# STB
ARG STB_VERSION=b42009b3b9d4ca35bc703f5310eedc74f584be58
RUN \
DIR=/tmp/stb && mkdir -p ${DIR} && cd ${DIR} && \
curl -sLO https://github.com/nothings/stb/archive/${STB_VERSION}.tar.gz && \
tar -x --strip-components=1 -f ${STB_VERSION}.tar.gz && \
mkdir -p ${PREFIX}/include/stb && \
cp ./*.h ${PREFIX}/include/stb
# LMS
COPY . /tmp/lms/
ARG LMS_BUILD_TYPE="Release"
RUN \
DIR=/tmp/lms/build && mkdir -p ${DIR} && cd ${DIR} && \
PKG_CONFIG_PATH=/$(xx-info)/usr/lib/pkgconfig CXXFLAGS="-I${PREFIX}/include" cmake /tmp/lms/ -DCMAKE_BUILD_TYPE=${LMS_BUILD_TYPE} $(xx-clang --print-cmake-defines) -DCMAKE_PREFIX_PATH=/$(xx-info)/usr/lib/cmake -DBUILD_TESTING=OFF && \
VERBOSE=1 make -j$(nproc)