1
+ #
2
+ # Copyright 2021 The Modelbox Project Authors. All Rights Reserved.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+
16
+ cmake_minimum_required (VERSION 3.10 )
17
+
18
+ set (DEVICE_NAME "rockchip" )
19
+ project (modelbox-devices-${DEVICE_NAME} )
20
+
21
+ file (GLOB_RECURSE LIBMODELBOX_DEVICE_SOURCES *.cpp *.cc *.c )
22
+ set (LIBMODELBOX_DEVICE_ROCKCHIP_INCLUDE ${CMAKE_CURRENT_LIST_DIR} /include )
23
+
24
+ include_directories (${HUAWEI_SECURE_C_INCLUDE_DIR} )
25
+ include_directories (${ROCKCHIP_INCLUDE_DIR} )
26
+ include_directories (${CMAKE_CURRENT_LIST_DIR} )
27
+ include_directories (${CMAKE_CURRENT_BINARY_DIR} )
28
+ include_directories (${LIBMODELBOX_INCLUDE} )
29
+ include_directories (${LIBMODELBOX_BASE_INCLUDE} )
30
+ include_directories (${LIBMODELBOX_DEVICE_ROCKCHIP_INCLUDE} )
31
+ include_directories (${LIBMODELBOX_DEVICE_ROCKCHIP_RKNPUINCLUDE} )
32
+ include_directories (${LIBMODELBOX_DEVICE_ROCKCHIP_RKNPU3RDINCLUDE} )
33
+ include_directories (${RKMPP_INCLUDE_DIR} )
34
+ include_directories (${RKNN_INCLUDE_DIR} )
35
+ include_directories (${RKRGA_INCLUDE_DIR} )
36
+
37
+ set (HEADER
38
+ ${LIBMODELBOX_DEVICE_ROCKCHIP_INCLUDE} /modelbox
39
+ )
40
+
41
+ set (LIBMODELBOX_DEVICE_ROCKCHIP_STATIC libmodelbox-device-${DEVICE_NAME}-static )
42
+ set (LIBMODELBOX_DEVICE_ROCKCHIP_SHARED libmodelbox-device-${DEVICE_NAME}-shared )
43
+
44
+ add_library (${LIBMODELBOX_DEVICE_ROCKCHIP_STATIC} STATIC ${LIBMODELBOX_DEVICE_SOURCES} )
45
+ add_library (${LIBMODELBOX_DEVICE_ROCKCHIP_SHARED} SHARED ${LIBMODELBOX_DEVICE_SOURCES} )
46
+
47
+ set_target_properties (${LIBMODELBOX_DEVICE_ROCKCHIP_SHARED} PROPERTIES
48
+ SOVERSION ${MODELBOX_VERSION_MAJOR}
49
+ VERSION ${MODELBOX_VERSION_MAJOR} .${MODELBOX_VERSION_MINOR}.${MODELBOX_VERSION_PATCH}
50
+ )
51
+
52
+ target_link_libraries (${LIBMODELBOX_DEVICE_ROCKCHIP_STATIC} ${LIBMODELBOX_SHARED} )
53
+ target_link_libraries (${LIBMODELBOX_DEVICE_ROCKCHIP_STATIC} pthread )
54
+ target_link_libraries (${LIBMODELBOX_DEVICE_ROCKCHIP_STATIC} rt )
55
+ target_link_libraries (${LIBMODELBOX_DEVICE_ROCKCHIP_STATIC} dl )
56
+ target_link_libraries (${LIBMODELBOX_DEVICE_ROCKCHIP_STATIC} ${RKMPP_LIBRARIES} )
57
+ target_link_libraries (${LIBMODELBOX_DEVICE_ROCKCHIP_STATIC} ${RKRGA_LIBRARY} )
58
+
59
+ target_link_libraries (${LIBMODELBOX_DEVICE_ROCKCHIP_SHARED} ${LIBMODELBOX_SHARED} )
60
+ target_link_libraries (${LIBMODELBOX_DEVICE_ROCKCHIP_SHARED} pthread )
61
+ target_link_libraries (${LIBMODELBOX_DEVICE_ROCKCHIP_SHARED} rt )
62
+ target_link_libraries (${LIBMODELBOX_DEVICE_ROCKCHIP_SHARED} dl )
63
+ target_link_libraries (${LIBMODELBOX_DEVICE_ROCKCHIP_SHARED} ${RKMPP_LIBRARIES} )
64
+ target_link_libraries (${LIBMODELBOX_DEVICE_ROCKCHIP_SHARED} ${RKRGA_LIBRARY} )
65
+
66
+ set_target_properties (${LIBMODELBOX_DEVICE_ROCKCHIP_STATIC} ${LIBMODELBOX_DEVICE_ROCKCHIP_SHARED}
67
+ PROPERTIES OUTPUT_NAME "modelbox-device-${DEVICE_NAME} "
68
+ )
69
+ set_target_properties (${LIBMODELBOX_DEVICE_ROCKCHIP_STATIC} ${LIBMODELBOX_DEVICE_ROCKCHIP_SHARED}
70
+ PROPERTIES
71
+ ARCHIVE_OUTPUT_DIRECTORY "${TEST_WORKING_LIB_DIR} "
72
+ RUNTIME_OUTPUT_DIRECTORY "${TEST_WORKING_BIN_DIR} "
73
+ )
74
+
75
+ configure_file (${CMAKE_CURRENT_LIST_DIR} /libmodelbox-device-${DEVICE_NAME}.pc.in ${CMAKE_CURRENT_BINARY_DIR} /libmodelbox-device-${DEVICE_NAME}.pc @ONLY )
76
+
77
+ install (TARGETS ${LIBMODELBOX_DEVICE_ROCKCHIP_SHARED}
78
+ COMPONENT rockchip-device-flowunit
79
+ RUNTIME DESTINATION ${CMAKE_INSTALL_FULL_BINDIR}
80
+ LIBRARY DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}
81
+ OPTIONAL )
82
+
83
+ install (TARGETS ${LIBMODELBOX_DEVICE_ROCKCHIP_STATIC}
84
+ COMPONENT rockchip-device-flowunit-devel
85
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}
86
+ OPTIONAL )
87
+
88
+ install (DIRECTORY
89
+ ${HEADER}
90
+ DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR}
91
+ COMPONENT rockchip-device-flowunit-devel
92
+ )
93
+
94
+ install (FILES
95
+ ${CMAKE_CURRENT_BINARY_DIR} /libmodelbox-device-${DEVICE_NAME}.pc
96
+ DESTINATION ${CMAKE_INSTALL_LIBDIR} /pkgconfig
97
+ COMPONENT rockchip-device-flowunit-devel
98
+ )
99
+
100
+ set (LIBMODELBOX_DEVICE_ROCKCHIP_STATIC ${LIBMODELBOX_DEVICE_ROCKCHIP_STATIC} CACHE INTERNAL "" )
101
+ set (LIBMODELBOX_DEVICE_ROCKCHIP_SHARED ${LIBMODELBOX_DEVICE_ROCKCHIP_SHARED} CACHE INTERNAL "" )
102
+ set (LIBMODELBOX_DEVICE_ROCKCHIP_INCLUDE ${LIBMODELBOX_DEVICE_ROCKCHIP_INCLUDE} CACHE INTERNAL "" )
103
+
104
+ set (LIBMODELBOX_DEVICE_LIBMODELBOX_DEVICE_ROCKCHIP_SHARED_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE INTERNAL "" )
105
+ set (LIBMODELBOX_DEVICE_SOURCES ${LIBMODELBOX_DEVICE_SOURCES} CACHE INTERNAL "" )
106
+ set (LIBMODELBOX_DEVICE_ROCKCHIP_SO_PATH ${CMAKE_CURRENT_BINARY_DIR} /libmodelbox-device-${DEVICE_NAME}.so CACHE INTERNAL "" )
107
+
108
+ # driver test
109
+ list (APPEND DRIVER_UNIT_TEST_SOURCE ${MODELBOX_UNIT_TEST_SOURCE} )
110
+ list (APPEND DRIVER_UNIT_TEST_TARGET ${LIBMODELBOX_DEVICE_ROCKCHIP_SHARED} )
111
+
112
+ set (DRIVER_UNIT_TEST_SOURCE ${DRIVER_UNIT_TEST_SOURCE} CACHE INTERNAL "" )
113
+ set (DRIVER_UNIT_TEST_TARGET ${DRIVER_UNIT_TEST_TARGET} CACHE INTERNAL "" )
0 commit comments