This commit is contained in:
emeric
2021-09-26 14:47:24 +02:00
parent d4d75236e0
commit 5acb5e4f73
7 changed files with 36 additions and 53 deletions
+4 -6
View File
@@ -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
View File
@@ -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)
-3
View File
@@ -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 \
-23
View File
@@ -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)
+1 -2
View File
@@ -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)
+3 -1
View File
@@ -1,5 +1,7 @@
add_subdirectory(test)
if(BUILD_TESTING)
add_subdirectory(test)
endif()
add_library(lmsmetadata SHARED
impl/AvFormatParser.cpp
+2 -1
View File
@@ -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)