-
Notifications
You must be signed in to change notification settings - Fork 148
Expand file tree
/
Copy pathrockchip_media.cmake
More file actions
57 lines (50 loc) · 2.11 KB
/
Copy pathrockchip_media.cmake
File metadata and controls
57 lines (50 loc) · 2.11 KB
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
# Rockchip MPP and RGA are supplied by a candidate-bound external sysroot.
# The validated shared libraries are packaged beside CosmoEdge so qualification
# never depends on a silently different target image library.
set(COSMO_ROCKCHIP_MEDIA_ROOT "" CACHE PATH
"Rockchip media root containing include/rockchip, include/rga, and lib/")
if(NOT COSMO_ROCKCHIP_MEDIA_ROOT AND DEFINED ENV{ROCKCHIP_MEDIA_ROOT})
set(COSMO_ROCKCHIP_MEDIA_ROOT "$ENV{ROCKCHIP_MEDIA_ROOT}"
CACHE PATH "Rockchip media root" FORCE)
endif()
if(NOT COSMO_ROCKCHIP_MEDIA_ROOT)
message(FATAL_ERROR
"COSMO_ROCKCHIP_MEDIA_ROOT is required for the Rockchip media backend")
endif()
set(ROCKCHIP_MPP_HEADER
"${COSMO_ROCKCHIP_MEDIA_ROOT}/include/rockchip/rk_mpi.h")
set(ROCKCHIP_RGA_HEADER
"${COSMO_ROCKCHIP_MEDIA_ROOT}/include/rga/im2d.h")
set(ROCKCHIP_MPP_LIBRARY
"${COSMO_ROCKCHIP_MEDIA_ROOT}/lib/librockchip_mpp.so")
set(ROCKCHIP_RGA_LIBRARY
"${COSMO_ROCKCHIP_MEDIA_ROOT}/lib/librga.so")
foreach(_required
"${ROCKCHIP_MPP_HEADER}"
"${ROCKCHIP_RGA_HEADER}"
"${ROCKCHIP_MPP_LIBRARY}"
"${ROCKCHIP_RGA_LIBRARY}")
if(NOT EXISTS "${_required}")
message(FATAL_ERROR "Rockchip media artifact not found: ${_required}")
endif()
endforeach()
add_library(rockchip_mpp SHARED IMPORTED GLOBAL)
set_target_properties(rockchip_mpp PROPERTIES
IMPORTED_LOCATION "${ROCKCHIP_MPP_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${COSMO_ROCKCHIP_MEDIA_ROOT}/include")
add_library(rockchip_rga SHARED IMPORTED GLOBAL)
set_target_properties(rockchip_rga PROPERTIES
IMPORTED_LOCATION "${ROCKCHIP_RGA_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${COSMO_ROCKCHIP_MEDIA_ROOT}/include")
install(DIRECTORY "${COSMO_ROCKCHIP_MEDIA_ROOT}/lib/"
DESTINATION lib
FILES_MATCHING
PATTERN "librockchip_mpp.so*"
PATTERN "librga.so*")
set(ROCKCHIP_MEDIA_MANIFEST
"${COSMO_ROCKCHIP_MEDIA_ROOT}/.cosmo-rockchip-media.json")
if(EXISTS "${ROCKCHIP_MEDIA_MANIFEST}")
install(FILES "${ROCKCHIP_MEDIA_MANIFEST}"
DESTINATION share/cosmo/platform
RENAME rockchip-media-manifest.json)
endif()