cmake_minimum_required( VERSION 2.8.8 )
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")
|
set(SRC_DEPEND_LIBS rockit dl)
|
|
# vendor custom node
|
option(ENABLE_SAMPLE_NODE "enable sample node" OFF)
|
if (${ENABLE_SAMPLE_NODE})
|
set(SRC_FILES_VENDOR
|
SampleNode.cpp
|
)
|
endif()
|
|
# node
|
option(ENABLE_SAMPLE_NODE_EPTZ "enable node eptz" ON)
|
if (${ENABLE_SAMPLE_NODE_EPTZ})
|
include_directories(filter/eptz)
|
link_directories(filter/eptz)
|
link_libraries(${CMAKE_CURRENT_SOURCE_DIR}/filter/eptz/libeptz.so)
|
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/filter/eptz/libeptz.so DESTINATION ../../oem/usr/lib/)
|
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/filter/eptz/eptz_zoom.conf")
|
set(ETC_DST "${PROJECT_SOURCE_DIR}/../../target/etc/")
|
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/filter/eptz/eptz_zoom.conf DESTINATION ${ETC_DST})
|
endif()
|
set(SRC_FILES_VENDOR
|
${SRC_FILES_VENDOR}
|
filter/eptz/RTNodeVFilterEptzDemo.cpp
|
)
|
endif()
|
|
option(ENABLE_SAMPLE_NODE_FEC "enable node fec" OFF)
|
if ({ENABLE_SAMPLE_NODE_FEC})
|
aux_source_directory(filter/fec/src SRC_FILES_VENDOR)
|
include_directories(filter/fec)
|
include_directories(filter/fec/headers)
|
include_directories(../utils/drm)
|
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/filter/fec/libdistortion.so DESTINATION ../../oem/usr/lib/)
|
set(SRC_DEPEND_LIBS ${SRC_DEPEND_LIBS} drm)
|
endif()
|
|
option(ENABLE_SAMPLE_NODE_ROCKX "enable node rockx" OFF)
|
if (${ENABLE_SAMPLE_NODE_ROCKX})
|
if (${USE_ROCKX})
|
set(SRC_FILES_VENDOR
|
${SRC_FILES_VENDOR}
|
filter/rockx/RTVFilterRockx.cpp
|
filter/rockx/RTNodeVFilterRockx.cpp
|
)
|
message(STATUS "Build WITH rockx ")
|
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/filter/rockx/aicamera.json DESTINATION ../../oem/usr/share/aiserver/)
|
else()
|
message(STATUS "Build NONE rockx ")
|
endif()
|
endif()
|
|
# vendor face line node
|
option(ENABLE_SAMPLE_NODE_FACE_LINE "enable face_line node" ON)
|
if (${ENABLE_SAMPLE_NODE_FACE_LINE})
|
set(SRC_FILES_VENDOR
|
${SRC_FILES_VENDOR}
|
filter/face_line/RTNodeVFilterFaceLineDemo.cpp )
|
set(SRC_DEPEND_LIBS ${SRC_DEPEND_LIBS} rga)
|
endif()
|
|
# vendor faceae node
|
option(ENABLE_SAMPLE_NODE_FACEAE "enable faceae node" OFF)
|
if (${ENABLE_SAMPLE_NODE_FACEAE})
|
if (${DBSERVER_SUPPORT})
|
set(SRC_FILES_VENDOR
|
${SRC_FILES_VENDOR}
|
filter/faceae/RTNodeVFilterFaceAEDemo.cpp )
|
endif()
|
endif()
|
|
option(ENABLE_SAMPLE_NODE_VIDEO_OUTPUT "enable node video output" OFF)
|
if(${ENABLE_SAMPLE_NODE_VIDEO_OUTPUT})
|
set(SRC_DEPEND_LIBS ${SRC_DEPEND_LIBS} drm)
|
set(INCLUDE_RKVO
|
filter/rkvo/headers
|
../utils/drm)
|
include_directories(${INCLUDE_RKVO})
|
set(SRC_FILES_VENDOR
|
${SRC_FILES_VENDOR}
|
filter/rkvo/RTNodeVFilterVideoOutput.cpp
|
filter/rkvo/drmDsp.c
|
filter/rkvo/drmDsp/bo.c
|
filter/rkvo/drmDsp/dev.c
|
filter/rkvo/drmDsp/modeset.c)
|
set(SRC_DEPEND_LIBS ${SRC_DEPEND_LIBS} drm)
|
message("Build with rkvo")
|
endif()
|
|
# zoom node
|
set(SRC_FILES_VENDOR
|
${SRC_FILES_VENDOR}
|
filter/zoom/RTNodeVFilterZoom.cpp
|
)
|
|
add_library(${VENDOR_STATIC} STATIC ${SRC_FILES_VENDOR})
|
set_target_properties(${VENDOR_STATIC} PROPERTIES FOLDER "vendor")
|
target_link_libraries(${VENDOR_STATIC} ${SRC_DEPEND_LIBS})
|