hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
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})