|
|
@ -6,9 +6,10 @@ project(${BASENAME})
|
|
|
|
|
|
|
|
|
|
|
|
option(COVERAGE "Coverage" OFF)
|
|
|
|
option(COVERAGE "Coverage" OFF)
|
|
|
|
|
|
|
|
|
|
|
|
set(CMAKE_BUILD_TYPE DEBUG)
|
|
|
|
|
|
|
|
set(CMAKE_C_FLAGS "-Wall")
|
|
|
|
set(CMAKE_C_FLAGS "-Wall")
|
|
|
|
set(CMAKE_CXX_FLAGS "-std=c++11 -Wall")
|
|
|
|
set(CMAKE_CXX_FLAGS "-std=c++11 -Wall")
|
|
|
|
|
|
|
|
SET(CMAKE_STAGING_PREFIX "${CMAKE_SOURCE_DIR}/${CMAKE_SYSTEM_PROCESSOR}")
|
|
|
|
|
|
|
|
SET(CMAKE_FIND_ROOT_PATH "${CMAKE_STAGING_PREFIX}")
|
|
|
|
|
|
|
|
|
|
|
|
# set version based on git
|
|
|
|
# set version based on git
|
|
|
|
find_package(Git)
|
|
|
|
find_package(Git)
|
|
|
@ -35,13 +36,14 @@ message(STATUS "CMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}")
|
|
|
|
message(STATUS "CMAKE_C_COMPILER=${CMAKE_C_COMPILER}")
|
|
|
|
message(STATUS "CMAKE_C_COMPILER=${CMAKE_C_COMPILER}")
|
|
|
|
message(STATUS "CMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}")
|
|
|
|
message(STATUS "CMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}")
|
|
|
|
message(STATUS "CMAKE_FIND_ROOT_PATH=${CMAKE_FIND_ROOT_PATH}")
|
|
|
|
message(STATUS "CMAKE_FIND_ROOT_PATH=${CMAKE_FIND_ROOT_PATH}")
|
|
|
|
|
|
|
|
message(STATUS "CMAKE_STAGING_PREFIX=${CMAKE_STAGING_PREFIX}")
|
|
|
|
|
|
|
|
|
|
|
|
# v4l2wrapper
|
|
|
|
# v4l2wrapper
|
|
|
|
include_directories("v4l2wrapper/inc")
|
|
|
|
include_directories("v4l2wrapper/inc")
|
|
|
|
find_library(V4L2WRAPPER_LIBRARY libv4l2wrapper.a PATHS "." NO_CMAKE_FIND_ROOT_PATH)
|
|
|
|
find_library(V4L2WRAPPER_LIBRARY libv4l2wrapper.a PATHS "." NO_CMAKE_FIND_ROOT_PATH)
|
|
|
|
if (NOT V4L2WRAPPER_LIBRARY)
|
|
|
|
if (NOT V4L2WRAPPER_LIBRARY)
|
|
|
|
message(STATUS "Installing v4l2wrapper")
|
|
|
|
message(STATUS "Installing v4l2wrapper")
|
|
|
|
EXEC_PROGRAM("git submodule init && git submodule update && make -C v4l2wrapper CC=${CMAKE_C_COMPILER} PREFIX=${CMAKE_FIND_ROOT_PATH} && cp v4l2wrapper/libv4l2wrapper.a . && make -C v4l2wrapper clean")
|
|
|
|
EXEC_PROGRAM("git submodule init && git submodule update && make -C v4l2wrapper CC=${CMAKE_C_COMPILER} PREFIX=${CMAKE_STAGING_PREFIX} && cp v4l2wrapper/libv4l2wrapper.a . && make -C v4l2wrapper clean")
|
|
|
|
find_library(V4L2WRAPPER_LIBRARY libv4l2wrapper.a PATHS "." NO_CMAKE_FIND_ROOT_PATH)
|
|
|
|
find_library(V4L2WRAPPER_LIBRARY libv4l2wrapper.a PATHS "." NO_CMAKE_FIND_ROOT_PATH)
|
|
|
|
message(STATUS "v4l2wrapper built in V4L2WRAPPER_LIBRARY=${V4L2WRAPPER_LIBRARY}")
|
|
|
|
message(STATUS "v4l2wrapper built in V4L2WRAPPER_LIBRARY=${V4L2WRAPPER_LIBRARY}")
|
|
|
|
endif (NOT V4L2WRAPPER_LIBRARY)
|
|
|
|
endif (NOT V4L2WRAPPER_LIBRARY)
|
|
|
@ -80,7 +82,7 @@ find_path(LIBLIVE555_INCLUDE_DIR liveMedia/liveMedia.hh)
|
|
|
|
if (NOT LIBLIVE555_INCLUDE_DIR)
|
|
|
|
if (NOT LIBLIVE555_INCLUDE_DIR)
|
|
|
|
message(STATUS "Installing live555")
|
|
|
|
message(STATUS "Installing live555")
|
|
|
|
EXEC_PROGRAM("wget http://www.live555.com/liveMedia/public/live555-latest.tar.gz -O - | tar xzf -")
|
|
|
|
EXEC_PROGRAM("wget http://www.live555.com/liveMedia/public/live555-latest.tar.gz -O - | tar xzf -")
|
|
|
|
EXEC_PROGRAM("cd live && ./genMakefiles linux-gdb && make CPLUSPLUS_COMPILER=${CMAKE_CXX_COMPILER} C_COMPILER=${CMAKE_C_COMPILER} LINK='${CMAKE_CXX_COMPILER} -o' CPPFLAGS=-DALLOW_RTSP_SERVER_PORT_REUSE=1 PREFIX=${CMAKE_FIND_ROOT_PATH} install")
|
|
|
|
EXEC_PROGRAM("cd live && ./genMakefiles linux-gdb && make CPLUSPLUS_COMPILER=${CMAKE_CXX_COMPILER} C_COMPILER=${CMAKE_C_COMPILER} LINK='${CMAKE_CXX_COMPILER} -o' CPPFLAGS=-DALLOW_RTSP_SERVER_PORT_REUSE=1 PREFIX=${CMAKE_STAGING_PREFIX} install")
|
|
|
|
else (NOT LIBLIVE555_INCLUDE_DIR)
|
|
|
|
else (NOT LIBLIVE555_INCLUDE_DIR)
|
|
|
|
SET(CPACK_DEBIAN_PACKAGE_DEPENDS ${CPACK_DEBIAN_PACKAGE_DEPENDS}liblivemedia-dev,)
|
|
|
|
SET(CPACK_DEBIAN_PACKAGE_DEPENDS ${CPACK_DEBIAN_PACKAGE_DEPENDS}liblivemedia-dev,)
|
|
|
|
endif (NOT LIBLIVE555_INCLUDE_DIR)
|
|
|
|
endif (NOT LIBLIVE555_INCLUDE_DIR)
|
|
|
@ -113,18 +115,19 @@ if (SYSTEMD_FOUND)
|
|
|
|
message(STATUS "SystemD directory '${SYSTEMD_SERVICES_INSTALL_DIR}'")
|
|
|
|
message(STATUS "SystemD directory '${SYSTEMD_SERVICES_INSTALL_DIR}'")
|
|
|
|
|
|
|
|
|
|
|
|
configure_file(v4l2rtspserver.service.in ${CMAKE_CURRENT_BINARY_DIR}/v4l2rtspserver.service @ONLY)
|
|
|
|
configure_file(v4l2rtspserver.service.in ${CMAKE_CURRENT_BINARY_DIR}/v4l2rtspserver.service @ONLY)
|
|
|
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/v4l2rtspserver.service DESTINATION ${SYSTEMD_SERVICES_INSTALL_DIR} COMPONENT data)
|
|
|
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/v4l2rtspserver.service DESTINATION ${SYSTEMD_SERVICES_INSTALL_DIR} COMPONENT data EXCLUDE_FROM_ALL)
|
|
|
|
endif (SYSTEMD_FOUND)
|
|
|
|
endif (SYSTEMD_FOUND)
|
|
|
|
|
|
|
|
|
|
|
|
# package
|
|
|
|
# package
|
|
|
|
install (TARGETS ${PROJECT_NAME} DESTINATION bin)
|
|
|
|
install (TARGETS ${PROJECT_NAME} DESTINATION bin COMPONENT bin)
|
|
|
|
|
|
|
|
|
|
|
|
SET(CPACK_GENERATOR "DEB")
|
|
|
|
SET(CPACK_GENERATOR "DEB;TGZ")
|
|
|
|
SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "Michel Promonet")
|
|
|
|
SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "Michel Promonet")
|
|
|
|
SET(CPACK_PACKAGE_CONTACT "michel.promonet@free.fr")
|
|
|
|
SET(CPACK_PACKAGE_CONTACT "michel.promonet@free.fr")
|
|
|
|
SET(CPACK_SYSTEM_NAME ${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR})
|
|
|
|
SET(CPACK_SYSTEM_NAME ${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR})
|
|
|
|
STRING(REGEX REPLACE ",$" "" CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}")
|
|
|
|
STRING(REGEX REPLACE ",$" "" CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}")
|
|
|
|
find_package(Git)
|
|
|
|
set(CPACK_DEB_COMPONENT_INSTALL "ON")
|
|
|
|
|
|
|
|
set(CPACK_ARCHIVE_COMPONENT_INSTALL "OFF")
|
|
|
|
if(VERSION)
|
|
|
|
if(VERSION)
|
|
|
|
SET(CPACK_PACKAGE_VERSION "${VERSION}")
|
|
|
|
SET(CPACK_PACKAGE_VERSION "${VERSION}")
|
|
|
|
endif()
|
|
|
|
endif()
|
|
|
|