diff --git a/CMakeLists.txt b/CMakeLists.txt index 5332e02d..aec266ac 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -180,8 +180,9 @@ if (WIN32) set(INSTALL_PATH_LIB $ENV{HOME}/${CMAKE_PROJECT_NAME}/lib) set(INSTALL_PATH_INCLUDE $ENV{HOME}/${CMAKE_PROJECT_NAME}/include) else () - set(INSTALL_PATH_LIB lib) + set(INSTALL_PATH_LIB lib${LIB_SUFFIX}) set(INSTALL_PATH_INCLUDE include) + set(INSTALL_PATH_EXECUTABLE bin) endif () if(ENABLE_CXX_API) diff --git a/package/rpm/ZLMediaKit.spec b/package/rpm/ZLMediaKit.spec new file mode 100644 index 00000000..58b2b633 --- /dev/null +++ b/package/rpm/ZLMediaKit.spec @@ -0,0 +1,142 @@ +%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 +%global use_devtoolset 0 +%bcond_without faac +%bcond_without x264 +%else +%global use_devtoolset 1 +%bcond_with faac +%bcond_with x264 +%endif + +%bcond_without openssl +%bcond_without mysql + +Name: ZLMediaKit +Version: 5.0.0 +Release: 1%{?dist} +Summary: A lightweight, high performance and stable stream server and client framework based on C++11. + +Group: development +License: MIT +URL: https://github.com/xia-chu/ZLMediaKit +Source0: %{name}-%{version}.tar.xz + +%if %{with openssl} +BuildRequires: openssl-devel +%endif + +%if %{with mysql} +BuildRequires: mysql-devel +%endif + +%if %{with faac} +BuildRequires: faac-devel +%endif + +%if %{with x264} +BuildRequires: x264-devel +%endif + +%if 0%{?use_devtoolset} +BuildRequires: devtoolset-8-gcc-c++ +%endif + +%description +A lightweight RTSP/RTMP/HTTP/HLS/HTTP-FLV/WebSocket-FLV/HTTP-TS/HTTP-fMP4/WebSocket-TS/WebSocket-fMP4/GB28181 server and client framework based on C++11. + +%package media-server +Requires: %{name} = %{version} +Summary: A lightweight, high performance and stable stream server + +%description media-server +A lightweight RTSP/RTMP/HTTP/HLS/HTTP-FLV/WebSocket-FLV/HTTP-TS/HTTP-fMP4/WebSocket-TS/WebSocket-fMP4/GB28181 server. + +%package c-libs +Requires: %{name} = %{version} +Summary: The %{name} C libraries. +%description c-libs +The %{name} C libraries. + +%package c-devel +Requires: %{name}-c-libs = %{version} +Summary: The %{name} C API headers. +%description c-devel +The %{name} C API headers. + +%package cxx-devel +Requires: %{name} = %{version} +Summary: The %{name} C++ API headers and development libraries. +%description cxx-devel +The %{name} C++ API headers and development libraries. + +%prep +%setup -q + +%build +mkdir -p %{_target_platform} + +pushd %{_target_platform} + +%if 0%{?use_devtoolset} +. /opt/rh/devtoolset-8/enable +%endif + +%cmake3 \ + -DCMAKE_BUILD_TYPE:STRING=Release \ + -DENABLE_HLS:BOOL=ON \ + -DENABLE_OPENSSL:BOOL=%{with openssl} \ + -DENABLE_MYSQL:BOOL=%{with mysql} \ + -DENABLE_FAAC:BOOL=%{with faac} \ + -DENABLE_X264:BOOL=%{with x264} \ + -DENABLE_MP4:BOOL=ON \ + -DENABLE_RTPPROXY:BOOL=ON \ + -DENABLE_API:BOOL=ON \ + -DENABLE_CXX_API:BOOL=ON \ + -DENABLE_TESTS:BOOL=OFF \ + -DENABLE_SERVERL:BOOL=ON \ + .. + +make %{?_smp_mflags} + +popd + +%install +rm -rf $RPM_BUILD_ROOT + +pushd %{_target_platform} +%make_install +popd + +install -m 0755 -d %{buildroot}%{_docdir}/%{name} +install -m 0644 LICENSE %{buildroot}%{_docdir}/%{name} +install -m 0644 README.md %{buildroot}%{_docdir}/%{name} +install -m 0644 README_en.md %{buildroot}%{_docdir}/%{name} + +# TODO: service files + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%doc %{_docdir}/* + +%files media-server +%{_bindir}/* + +%files c-libs +%{_libdir}/libmk_api.so + +%files c-devel +%{_includedir}/mk_* + +%files cxx-devel +%{_includedir}/ZLMediaKit/* +%{_includedir}/ZLToolKit/* +%{_libdir}/libzlmediakit.a +%{_libdir}/libzltoolkit.a +%{_libdir}/libmpeg.a +%{_libdir}/libmov.a +%{_libdir}/libflv.a + +%changelog + diff --git a/server/CMakeLists.txt b/server/CMakeLists.txt index 092a4221..9b9692b3 100644 --- a/server/CMakeLists.txt +++ b/server/CMakeLists.txt @@ -10,8 +10,8 @@ add_executable(MediaServer ${MediaServer_src_list}) if(WIN32) set_target_properties(MediaServer PROPERTIES COMPILE_FLAGS ${VS_FALGS} ) +else() + install(TARGETS MediaServer DESTINATION ${INSTALL_PATH_EXECUTABLE}) endif() target_link_libraries(MediaServer jsoncpp ${LINK_LIB_LIST}) - - diff --git a/src/Http/HlsParser.cpp b/src/Http/HlsParser.cpp index b6b35f01..60e578d7 100644 --- a/src/Http/HlsParser.cpp +++ b/src/Http/HlsParser.cpp @@ -9,7 +9,7 @@ */ #include -#include +#include #include "HlsParser.h" #include "Util/util.h" #include "Common/Parser.h"