Files
Android11/external/rkaiq_tool_server/CMakeLists.txt
2023-10-13 14:01:41 +00:00

123 lines
4.1 KiB
CMake

cmake_minimum_required(VERSION 2.8)
project(rkaiq_tool_server C CXX)
add_compile_options(${ISP_HW_VERSION})
set(CMAKE_VERBOSE_MAKEFILE OFF)
include_directories(
${PROJECT_SOURCE_DIR}/
${PROJECT_SOURCE_DIR}/netserver/
${PROJECT_SOURCE_DIR}/rkaiq/
${PROJECT_SOURCE_DIR}/camera/
${PROJECT_SOURCE_DIR}/mediactl/)
if(CMAKE_COMPILER_IS_GNUCXX)
set(CMAKE_CXX_FLAGS "-std=c++11 -fno-rtti ${CMAKE_CXX_FLAGS}")
endif(CMAKE_COMPILER_IS_GNUCXX)
aux_source_directory(${PROJECT_SOURCE_DIR}/logger/ LOGGER_SOURCE)
aux_source_directory(${PROJECT_SOURCE_DIR}/netserver NET_SERVER_SOURCE)
set(RKAIQ_SOURCE
${PROJECT_SOURCE_DIR}/rkaiq/rkaiq_api/rkaiq_media.cpp
${PROJECT_SOURCE_DIR}/rkaiq/rkaiq_api/rkaiq_socket.cpp
${PROJECT_SOURCE_DIR}/rkaiq/multiframe_process.cpp
${PROJECT_SOURCE_DIR}/rkaiq/rkaiq_online_protocol.cpp
${PROJECT_SOURCE_DIR}/rkaiq/rkaiq_raw_protocol.cpp
${PROJECT_SOURCE_DIR}/rkaiq/rkaiq_protocol.cpp
)
aux_source_directory(${PROJECT_SOURCE_DIR}/camera/ CAMERA_SOURCE)
aux_source_directory(${PROJECT_SOURCE_DIR}/mediactl/ MEDIACTL_SOURCE)
option(BUILD_SANITIZER_STATIC "compile with sanitizer (static library linker)" OFF)
if(BUILD_SANITIZER_STATIC)
add_definitions(-fsanitize=address -static-libasan -g -ggdb -gdwarf -funwind-tables -rdynamic -O0 )
link_libraries(libasan.a dl m rt)
endif()
option(BUILD_DEBUG "compile with debug" OFF)
if(BUILD_SANITIZER_STATIC)
add_definitions(-g -ggdb -gdwarf -funwind-tables -rdynamic -O0 )
endif()
option(BUILD_RKAIQ_API "depend on rkaiq api library" OFF)
if(BUILD_RKAIQ_API)
aux_source_directory(${PROJECT_SOURCE_DIR}/rkaiq/rkaiq_api RKAIQ_SOURCE)
link_libraries(rkaiq)
add_definitions(-DENABLE_RKAIQ_UAPI)
endif()
find_path(RKAIQ_API_INCLUDE_DIR
NAMES rk_aiq_user_api_imgproc.h
HINTS ${CMAKE_FIND_ROOT_PATH}
PATH_SUFFIXES rkaiq/uAPI)
include_directories(${RKAIQ_API_INCLUDE_DIR}/)
include_directories(${RKAIQ_API_INCLUDE_DIR}/..)
include_directories(${RKAIQ_API_INCLUDE_DIR}/../xcore)
include_directories(${RKAIQ_API_INCLUDE_DIR}/../common)
include_directories(${RKAIQ_API_INCLUDE_DIR}/../algos)
include_directories(${RKAIQ_API_INCLUDE_DIR}/../iq_parser)
include_directories(${RKAIQ_API_INCLUDE_DIR}/../iq_parser_v2)
include_directories(${PROJECT_SOURCE_DIR}/rkaiq/rkaiq_api)
option(BUILD_RKMEDIA "depend on rkmedia library" ON)
option(BUILD_RKMEDIA_INDE "depend on rkmedia library independent" ON)
if(BUILD_RKMEDIA)
add_definitions(-DENABLE_RSTP_SERVER)
if(BUILD_RKMEDIA_INDE)
include_directories(${PROJECT_SOURCE_DIR}/rkmedia)
include_directories(${PROJECT_SOURCE_DIR}/rkmedia/include)
include_directories(${PROJECT_SOURCE_DIR}/rkmedia/librkmedia/include)
include_directories(${PROJECT_SOURCE_DIR}/rkmedia/librkmedia/include/easymedia)
add_subdirectory(rkmedia/librkmedia)
set(RKMEDIA_SOURCE
${RKMEDIA_SOURCE}
rkmedia/link_flow.cc
rkmedia/sink_flow.cc
rkmedia/source_flow.cc
rkmedia/rtsp_server.cpp)
link_libraries(rkmedia)
else()
find_package(PkgConfig QUIET)
pkg_check_modules(PKG_EASYMEDIA QUIET "libeasymedia")
set(EASYMEDIA_DEFINITIONS ${PKG_EASYMEDIA_CFLAGS_OTHER})
find_path(EASYMEDIA_INCLUDE_DIR
NAMES buffer.h
HINTS ${PKG_EASYMEDIA_INCLUDEDIR} ${PKG_EASYMEDIA_INCLUDE_DIRS} ${PROJECT_SOURCE_DIR}/rkmedia/include
PATH_SUFFIXES easymedia)
include_directories(${PROJECT_SOURCE_DIR}/rkmedia/)
link_libraries(easymedia)
include_directories(${EASYMEDIA_INCLUDE_DIR}/)
aux_source_directory(${PROJECT_SOURCE_DIR}/rkmedia/ RKMEDIA_SOURCE)
endif()
endif()
file(GLOB_RECURSE ALL_SOURCE_FILES *.cpp *.cc *.h)
add_custom_target(
clangformat
COMMAND /usr/bin/clang-format
-style=LLVM
-i
${ALL_SOURCE_FILES})
set(RKAIQ_TOOL_SERVER_SOURCE
${LOGGER_SOURCE}
${NET_SERVER_SOURCE}
${RKAIQ_SOURCE}
${CAMERA_SOURCE}
${RKMEDIA_SOURCE}
${MEDIACTL_SOURCE}
rkaiq_tool_server.cpp)
add_executable(rkaiq_tool_server ${RKAIQ_TOOL_SERVER_SOURCE})
if(BUILD_RKMEDIA_INDE)
add_dependencies(rkaiq_tool_server rkmedia)
endif()
target_link_libraries(rkaiq_tool_server pthread)
install(TARGETS rkaiq_tool_server RUNTIME DESTINATION bin)
option(BUILD_TEST "build test demo" OFF)
if(BUILD_TEST)
add_subdirectory(test)
endif()