|
|
|
@ -9,7 +9,14 @@ set(LIVE555URL http://www.live555.com/liveMedia/public/live555-latest.tar.gz CAC
|
|
|
|
|
set(LIVE555CFLAGS -DBSD=1 -DSOCKLEN_T=socklen_t -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -DALLOW_RTSP_SERVER_PORT_REUSE=1 -DNO_OPENSSL=1 CACHE STRING "live555 CFGLAGS")
|
|
|
|
|
|
|
|
|
|
set(CMAKE_CXX_STANDARD 11)
|
|
|
|
|
#set(CMAKE_INSTALL_PREFIX /usr)
|
|
|
|
|
#set(CMAKE_INSTALL_LIBDIR lib/${CMAKE_LIBRARY_ARCHITECTURE})
|
|
|
|
|
#set(CMAKE_INSTALL_FULL_LIBDIR /usr/lib/${CMAKE_LIBRARY_ARCHITECTURE})
|
|
|
|
|
|
|
|
|
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake/")
|
|
|
|
|
|
|
|
|
|
#message(STATUS "Arch: ${CMAKE_LIBRARY_ARCHITECTURE}")
|
|
|
|
|
#message(STATUS "Libs: ${CMAKE_INSTALL_LIBDIR}")
|
|
|
|
|
# set version based on git
|
|
|
|
|
find_package(Git)
|
|
|
|
|
if(GIT_FOUND)
|
|
|
|
@ -70,22 +77,51 @@ add_library(v4l2wrapper STATIC ${LIBSRC_FILES})
|
|
|
|
|
target_link_libraries (${PROJECT_NAME} v4l2wrapper)
|
|
|
|
|
|
|
|
|
|
# live555
|
|
|
|
|
set(LIVE ${CMAKE_BINARY_DIR}/live)
|
|
|
|
|
set(LIVEINCLUDE ${LIVE}/groupsock/include ${LIVE}/liveMedia/include ${LIVE}/UsageEnvironment/include ${LIVE}/BasicUsageEnvironment/include)
|
|
|
|
|
if (NOT EXISTS ${LIVE})
|
|
|
|
|
file (DOWNLOAD ${LIVE555URL} ${CMAKE_BINARY_DIR}/live555-latest.tar.gz )
|
|
|
|
|
EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E tar xvf ${CMAKE_BINARY_DIR}/live555-latest.tar.gz RESULT_VARIABLE unpack_result)
|
|
|
|
|
if(NOT unpack_result STREQUAL "0")
|
|
|
|
|
message(FATAL_ERROR "Fetching and compiling live555 failed!")
|
|
|
|
|
find_package(LiveMedia)
|
|
|
|
|
find_package(UsageEnvironment)
|
|
|
|
|
find_package(BasicUsageEnvironment)
|
|
|
|
|
find_package(GroupSock)
|
|
|
|
|
if (NOT LIBLIVEMEDIA_FOUND OR NOT LIBBASICUSAGEENVIRONMENT_FOUND OR NOT LIBUSAGEENVIRONMENT_FOUND OR NOT LIBGROUPSOCK_FOUND )
|
|
|
|
|
set(LIVE ${CMAKE_BINARY_DIR}/live)
|
|
|
|
|
set(LIVEINCLUDE ${LIVE}/groupsock/include ${LIVE}/liveMedia/include ${LIVE}/UsageEnvironment/include ${LIVE}/BasicUsageEnvironment/include)
|
|
|
|
|
if (NOT EXISTS ${LIVE})
|
|
|
|
|
file (DOWNLOAD ${LIVE555URL} ${CMAKE_BINARY_DIR}/live555-latest.tar.gz )
|
|
|
|
|
EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E tar xvf ${CMAKE_BINARY_DIR}/live555-latest.tar.gz RESULT_VARIABLE unpack_result)
|
|
|
|
|
if(NOT unpack_result STREQUAL "0")
|
|
|
|
|
message(FATAL_ERROR "Fetching and compiling live555 failed!")
|
|
|
|
|
endif()
|
|
|
|
|
endif()
|
|
|
|
|
FILE(GLOB LIVESOURCE ${LIVE}/groupsock/*.c* ${LIVE}/liveMedia/*.c* ${LIVE}/UsageEnvironment/*.c* ${LIVE}/BasicUsageEnvironment/*.c*)
|
|
|
|
|
add_definitions(${LIVE555CFLAGS})
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if (LIBLIVEMEDIA_FOUND AND LIBBASICUSAGEENVIRONMENT_FOUND AND LIBUSAGEENVIRONMENT_FOUND AND LIBGROUPSOCK_FOUND)
|
|
|
|
|
message(STATUS "live555 loaded")
|
|
|
|
|
target_link_libraries (${PROJECT_NAME} liveMedia)
|
|
|
|
|
target_link_libraries (${PROJECT_NAME} UsageEnvironment)
|
|
|
|
|
target_link_libraries (${PROJECT_NAME} BasicUsageEnvironment)
|
|
|
|
|
target_link_libraries (${PROJECT_NAME} groupsock)
|
|
|
|
|
SET(CPACK_DEBIAN_PACKAGE_DEPENDS ${CPACK_DEBIAN_PACKAGE_DEPENDS}liblivemedia50,)
|
|
|
|
|
SET(CPACK_DEBIAN_PACKAGE_DEPENDS ${CPACK_DEBIAN_PACKAGE_DEPENDS}libusageenvironment3,)
|
|
|
|
|
SET(CPACK_DEBIAN_PACKAGE_DEPENDS ${CPACK_DEBIAN_PACKAGE_DEPENDS}libbasicusageenvironment1,)
|
|
|
|
|
SET(CPACK_DEBIAN_PACKAGE_DEPENDS ${CPACK_DEBIAN_PACKAGE_DEPENDS}libgroupsock8,)
|
|
|
|
|
endif()
|
|
|
|
|
FILE(GLOB LIVESOURCE ${LIVE}/groupsock/*.c* ${LIVE}/liveMedia/*.c* ${LIVE}/UsageEnvironment/*.c* ${LIVE}/BasicUsageEnvironment/*.c*)
|
|
|
|
|
add_definitions(${LIVE555CFLAGS})
|
|
|
|
|
|
|
|
|
|
# librtsp
|
|
|
|
|
aux_source_directory(src SRC_FILES)
|
|
|
|
|
add_library (libv4l2rtspserver STATIC ${LIVESOURCE} ${SRC_FILES})
|
|
|
|
|
target_include_directories(libv4l2rtspserver PUBLIC ${LIVEINCLUDE} inc)
|
|
|
|
|
if (NOT LIBLIVEMEDIA_FOUND OR NOT LIBBASICUSAGEENVIRONMENT_FOUND OR NOT LIBUSAGEENVIRONMENT_FOUND OR NOT LIBGROUPSOCK_FOUND )
|
|
|
|
|
add_library (libv4l2rtspserver STATIC ${LIVESOURCE} ${SRC_FILES})
|
|
|
|
|
target_include_directories(libv4l2rtspserver PUBLIC ${LIVEINCLUDE} inc)
|
|
|
|
|
endif()
|
|
|
|
|
if (LIBLIVEMEDIA_FOUND AND LIBBASICUSAGEENVIRONMENT_FOUND AND LIBUSAGEENVIRONMENT_FOUND AND LIBGROUPSOCK_FOUND)
|
|
|
|
|
add_library (libv4l2rtspserver SHARED ${SRC_FILES})
|
|
|
|
|
target_link_libraries (libv4l2rtspserver liveMedia)
|
|
|
|
|
target_link_libraries (libv4l2rtspserver UsageEnvironment)
|
|
|
|
|
target_link_libraries (libv4l2rtspserver BasicUsageEnvironment)
|
|
|
|
|
target_link_libraries (libv4l2rtspserver groupsock)
|
|
|
|
|
target_include_directories(libv4l2rtspserver PUBLIC inc})
|
|
|
|
|
target_include_directories(libv4l2rtspserver PUBLIC ${LIBLIVEMEDIA_INCLUDE_DIR} ${LIBBASICUSAGEENVIRONMENT_INCLUDE_DIR} ${LIBUSAGEENVIRONMENT_INCLUDE_DIR} ${LIBGROUPSOCK_INCLUDE_DIR} )
|
|
|
|
|
endif()
|
|
|
|
|
target_link_libraries (${PROJECT_NAME} libv4l2rtspserver)
|
|
|
|
|
|
|
|
|
|
#testing
|
|
|
|
|