WIP
This commit is contained in:
+4
-6
@@ -14,16 +14,15 @@ include(CTest)
|
||||
find_package(PkgConfig REQUIRED)
|
||||
find_package(Threads REQUIRED)
|
||||
find_package(Filesystem REQUIRED)
|
||||
find_package(FFMPEGAV REQUIRED)
|
||||
find_package(GTest REQUIRED)
|
||||
find_package(Boost REQUIRED COMPONENTS system program_options)
|
||||
find_package(Wt REQUIRED COMPONENTS Wt Dbo DboSqlite3 HTTP)
|
||||
find_package(PAM)
|
||||
find_package(STB)
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(Taglib REQUIRED IMPORTED_TARGET taglib)
|
||||
pkg_check_modules(Config++ REQUIRED IMPORTED_TARGET libconfig++)
|
||||
pkg_check_modules(GraphicsMagick++ IMPORTED_TARGET GraphicsMagick++)
|
||||
find_package(GTest REQUIRED)
|
||||
pkg_check_modules(LIBAV IMPORTED_TARGET libavutil libavformat)
|
||||
find_package(PAM)
|
||||
find_package(STB)
|
||||
|
||||
# WT
|
||||
if (NOT Wt_FOUND)
|
||||
@@ -70,7 +69,6 @@ elseif (IMAGE_LIBRARY STREQUAL STB AND NOT STB_FOUND)
|
||||
endif ()
|
||||
message(STATUS "IMAGE_LIBRARY set to ${IMAGE_LIBRARY}")
|
||||
|
||||
|
||||
add_subdirectory(src)
|
||||
|
||||
install(DIRECTORY approot DESTINATION share/lms)
|
||||
|
||||
+26
-17
@@ -1,28 +1,39 @@
|
||||
FROM alpine:3.14 AS build
|
||||
|
||||
FROM --platform=$BUILDPLATFORM tonistiigi/xx AS xx
|
||||
|
||||
FROM --platform=$BUILDPLATFORM alpine:3.14
|
||||
ARG TARGETPLATFORM
|
||||
|
||||
WORKDIR /tmp/workdir
|
||||
|
||||
ARG MAKEFLAGS="-j2"
|
||||
|
||||
ARG PREFIX="/tmp/install"
|
||||
|
||||
ARG BUILD_PACKAGES=" \
|
||||
ca-certificates \
|
||||
curl \
|
||||
coreutils \
|
||||
bzip2 \
|
||||
pkgconfig \
|
||||
g++ \
|
||||
ffmpeg-dev \
|
||||
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"
|
||||
|
||||
RUN apk add --no-cache --update ${BUILD_PACKAGES}
|
||||
# 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
|
||||
@@ -37,8 +48,6 @@ RUN \
|
||||
COPY . /tmp/lms/
|
||||
ARG LMS_BUILD_TYPE="Release"
|
||||
RUN \
|
||||
DIR=/tmp/lms/build && mkdir -p ${DIR} && cd ${DIR} && \
|
||||
CXXFLAGS="-I${PREFIX}/include" cmake /tmp/lms/ -DCMAKE_BUILD_TYPE=${LMS_BUILD_TYPE} && \
|
||||
VERBOSE=1 make && \
|
||||
make test
|
||||
|
||||
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)
|
||||
|
||||
@@ -2,8 +2,6 @@ FROM alpine:3.14 AS build
|
||||
|
||||
WORKDIR /tmp/workdir
|
||||
|
||||
ARG MAKEFLAGS="-j2"
|
||||
|
||||
ARG PREFIX="/tmp/install"
|
||||
|
||||
ARG BUILD_PACKAGES=" \
|
||||
@@ -131,7 +129,6 @@ RUN \
|
||||
## Release Stage
|
||||
FROM alpine:3.14 AS release
|
||||
LABEL maintainer="Emeric Poupon <itmfr@yahoo.fr>"
|
||||
LABEL version=${LMS_VERSION}
|
||||
|
||||
ARG RUNTIME_PACKAGES=" \
|
||||
libssl1.1 \
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
# Quick and dirty av* includes discoverer
|
||||
|
||||
find_path(AVCODEC_INCLUDE_DIR NAMES libavcodec/avcodec.h PATH_SUFFIXES ffmpeg)
|
||||
find_library(AVCODEC_LIBRARY avcodec)
|
||||
|
||||
find_path(AVFORMAT_INCLUDE_DIR NAMES libavformat/avformat.h PATH_SUFFIXES ffmpeg)
|
||||
find_library(AVFORMAT_LIBRARY avformat)
|
||||
|
||||
find_path(AVUTIL_INCLUDE_DIR NAMES libavutil/avutil.h PATH_SUFFIXES ffmpeg)
|
||||
find_library(AVUTIL_LIBRARY avutil)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(
|
||||
FFMPEGAV
|
||||
FOUND_VAR FFMPEGAV_FOUND
|
||||
REQUIRED_VARS AVUTIL_LIBRARY AVFORMAT_LIBRARY
|
||||
)
|
||||
|
||||
mark_as_advanced(AVFORMAT_LIBRARY)
|
||||
mark_as_advanced(AVUTIL_LIBRARY)
|
||||
|
||||
|
||||
@@ -23,8 +23,7 @@ target_link_libraries(lmsav PUBLIC
|
||||
)
|
||||
|
||||
target_link_libraries(lmsav PRIVATE
|
||||
${AVFORMAT_LIBRARY}
|
||||
${AVUTIL_LIBRARY}
|
||||
PkgConfig::LIBAV
|
||||
)
|
||||
|
||||
install(TARGETS lmsav DESTINATION lib)
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
|
||||
add_subdirectory(test)
|
||||
if(BUILD_TESTING)
|
||||
add_subdirectory(test)
|
||||
endif()
|
||||
|
||||
add_library(lmsmetadata SHARED
|
||||
impl/AvFormatParser.cpp
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
add_library(lmssom STATIC
|
||||
add_library(lmssom SHARED
|
||||
impl/DataNormalizer.cpp
|
||||
impl/Network.cpp
|
||||
)
|
||||
@@ -18,3 +18,4 @@ target_link_libraries(lmssom PUBLIC
|
||||
|
||||
set_property(TARGET lmssom PROPERTY POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
install(TARGETS lmssom DESTINATION lib)
|
||||
|
||||
Reference in New Issue
Block a user