WIP
This commit is contained in:
+4
-6
@@ -14,16 +14,15 @@ include(CTest)
|
|||||||
find_package(PkgConfig REQUIRED)
|
find_package(PkgConfig REQUIRED)
|
||||||
find_package(Threads REQUIRED)
|
find_package(Threads REQUIRED)
|
||||||
find_package(Filesystem REQUIRED)
|
find_package(Filesystem REQUIRED)
|
||||||
find_package(FFMPEGAV REQUIRED)
|
find_package(GTest REQUIRED)
|
||||||
find_package(Boost REQUIRED COMPONENTS system program_options)
|
find_package(Boost REQUIRED COMPONENTS system program_options)
|
||||||
find_package(Wt REQUIRED COMPONENTS Wt Dbo DboSqlite3 HTTP)
|
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(Taglib REQUIRED IMPORTED_TARGET taglib)
|
||||||
pkg_check_modules(Config++ REQUIRED IMPORTED_TARGET libconfig++)
|
pkg_check_modules(Config++ REQUIRED IMPORTED_TARGET libconfig++)
|
||||||
pkg_check_modules(GraphicsMagick++ IMPORTED_TARGET GraphicsMagick++)
|
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
|
# WT
|
||||||
if (NOT Wt_FOUND)
|
if (NOT Wt_FOUND)
|
||||||
@@ -70,7 +69,6 @@ elseif (IMAGE_LIBRARY STREQUAL STB AND NOT STB_FOUND)
|
|||||||
endif ()
|
endif ()
|
||||||
message(STATUS "IMAGE_LIBRARY set to ${IMAGE_LIBRARY}")
|
message(STATUS "IMAGE_LIBRARY set to ${IMAGE_LIBRARY}")
|
||||||
|
|
||||||
|
|
||||||
add_subdirectory(src)
|
add_subdirectory(src)
|
||||||
|
|
||||||
install(DIRECTORY approot DESTINATION share/lms)
|
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
|
WORKDIR /tmp/workdir
|
||||||
|
|
||||||
ARG MAKEFLAGS="-j2"
|
|
||||||
|
|
||||||
ARG PREFIX="/tmp/install"
|
ARG PREFIX="/tmp/install"
|
||||||
|
|
||||||
ARG BUILD_PACKAGES=" \
|
ARG BUILD_PACKAGES="\
|
||||||
ca-certificates \
|
clang \
|
||||||
curl \
|
|
||||||
coreutils \
|
|
||||||
bzip2 \
|
|
||||||
pkgconfig \
|
|
||||||
g++ \
|
|
||||||
ffmpeg-dev \
|
|
||||||
make \
|
make \
|
||||||
cmake \
|
cmake \
|
||||||
|
lld \
|
||||||
|
curl \
|
||||||
|
tree \
|
||||||
|
pkgconfig"
|
||||||
|
|
||||||
|
RUN apk add --no-cache ${BUILD_PACKAGES}
|
||||||
|
|
||||||
|
ARG LMS_BUILD_PACKAGES=" \
|
||||||
|
gcc \
|
||||||
|
g++ \
|
||||||
|
musl-dev \
|
||||||
boost-dev \
|
boost-dev \
|
||||||
|
ffmpeg-dev \
|
||||||
libconfig-dev \
|
libconfig-dev \
|
||||||
taglib-dev \
|
taglib-dev \
|
||||||
wt-dev \
|
wt-dev \
|
||||||
gtest-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
|
# STB
|
||||||
ARG STB_VERSION=b42009b3b9d4ca35bc703f5310eedc74f584be58
|
ARG STB_VERSION=b42009b3b9d4ca35bc703f5310eedc74f584be58
|
||||||
@@ -37,8 +48,6 @@ RUN \
|
|||||||
COPY . /tmp/lms/
|
COPY . /tmp/lms/
|
||||||
ARG LMS_BUILD_TYPE="Release"
|
ARG LMS_BUILD_TYPE="Release"
|
||||||
RUN \
|
RUN \
|
||||||
DIR=/tmp/lms/build && mkdir -p ${DIR} && cd ${DIR} && \
|
DIR=/tmp/lms/build && mkdir -p ${DIR} && cd ${DIR} && \
|
||||||
CXXFLAGS="-I${PREFIX}/include" cmake /tmp/lms/ -DCMAKE_BUILD_TYPE=${LMS_BUILD_TYPE} && \
|
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 && \
|
VERBOSE=1 make -j$(nproc)
|
||||||
make test
|
|
||||||
|
|
||||||
|
|||||||
@@ -2,8 +2,6 @@ FROM alpine:3.14 AS build
|
|||||||
|
|
||||||
WORKDIR /tmp/workdir
|
WORKDIR /tmp/workdir
|
||||||
|
|
||||||
ARG MAKEFLAGS="-j2"
|
|
||||||
|
|
||||||
ARG PREFIX="/tmp/install"
|
ARG PREFIX="/tmp/install"
|
||||||
|
|
||||||
ARG BUILD_PACKAGES=" \
|
ARG BUILD_PACKAGES=" \
|
||||||
@@ -131,7 +129,6 @@ RUN \
|
|||||||
## Release Stage
|
## Release Stage
|
||||||
FROM alpine:3.14 AS release
|
FROM alpine:3.14 AS release
|
||||||
LABEL maintainer="Emeric Poupon <itmfr@yahoo.fr>"
|
LABEL maintainer="Emeric Poupon <itmfr@yahoo.fr>"
|
||||||
LABEL version=${LMS_VERSION}
|
|
||||||
|
|
||||||
ARG RUNTIME_PACKAGES=" \
|
ARG RUNTIME_PACKAGES=" \
|
||||||
libssl1.1 \
|
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
|
target_link_libraries(lmsav PRIVATE
|
||||||
${AVFORMAT_LIBRARY}
|
PkgConfig::LIBAV
|
||||||
${AVUTIL_LIBRARY}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
install(TARGETS lmsav DESTINATION lib)
|
install(TARGETS lmsav DESTINATION lib)
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
|
|
||||||
add_subdirectory(test)
|
if(BUILD_TESTING)
|
||||||
|
add_subdirectory(test)
|
||||||
|
endif()
|
||||||
|
|
||||||
add_library(lmsmetadata SHARED
|
add_library(lmsmetadata SHARED
|
||||||
impl/AvFormatParser.cpp
|
impl/AvFormatParser.cpp
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
add_library(lmssom STATIC
|
add_library(lmssom SHARED
|
||||||
impl/DataNormalizer.cpp
|
impl/DataNormalizer.cpp
|
||||||
impl/Network.cpp
|
impl/Network.cpp
|
||||||
)
|
)
|
||||||
@@ -18,3 +18,4 @@ target_link_libraries(lmssom PUBLIC
|
|||||||
|
|
||||||
set_property(TARGET lmssom PROPERTY POSITION_INDEPENDENT_CODE ON)
|
set_property(TARGET lmssom PROPERTY POSITION_INDEPENDENT_CODE ON)
|
||||||
|
|
||||||
|
install(TARGETS lmssom DESTINATION lib)
|
||||||
|
|||||||
Reference in New Issue
Block a user