singe/thirdparty/rockchip-mpp/mpp/hal/CMakeLists.txt
2026-09-10 20:17:28 -05:00

69 lines
2 KiB
CMake

# vim: syntax=cmake
include_directories(worker/inc)
include_directories(common)
# Macro to conditionally add source files
# Usage: add_hal_source(SRC_LIST CONDITION SOURCE_FILE)
macro(add_hal_source SRC_LIST CONDITION SOURCE_FILE)
if (${CONDITION})
list(APPEND ${SRC_LIST} ${SOURCE_FILE})
endif()
endmacro()
# ----------------------------------------------------------------------------
# add hardware hal
# ----------------------------------------------------------------------------
add_subdirectory(vpu)
add_subdirectory(rkdec)
add_subdirectory(rkenc)
add_subdirectory(common)
merge_objects("${HAL_H263D}" hal_h263d_api)
merge_objects("${HAL_JPEGD}" hal_jpegd_api)
merge_objects("${HAL_MPEG2D}" hal_mpeg2d_api)
merge_objects("${HAL_MPEG4D}" hal_mpeg4d_api)
merge_objects("${HAL_VP8D}" hal_vp8d_api)
merge_objects("${HAL_VP9D}" hal_vp9d_api)
merge_objects("${HAL_AV1D}" hal_av1d_com hal_av1d_rkv hal_av1d_vpu)
merge_objects("${HAL_AVSD}" hal_avsd_api)
merge_objects("${HAL_AVS2D}" hal_avs2d_api)
merge_objects("${HAL_H264D}" hal_h264d_api)
merge_objects("${HAL_H265D}" hal_h265d_api)
merge_objects("${HAL_H264E}" hal_h264e_com hal_h264e_vepu5xx hal_h264e_vpu)
merge_objects("${HAL_H265E}" hal_h265e_com hal_h265e_vepu5xx)
merge_objects("${HAL_JPEGE}" hal_jpege_com hal_jpege_rkv hal_jpege_vpu)
merge_objects("${HAL_VP8E}" hal_vp8e_api)
# ----------------------------------------------------------------------------
# add mpp_hal implement
# ----------------------------------------------------------------------------
add_library(mpp_hal STATIC
mpp_enc_hal.c
hal_task.c
mpp_hal.c
)
set_target_properties(mpp_hal PROPERTIES FOLDER "mpp/hal")
target_link_libraries(mpp_hal
hal_common
hal_vepu5xx_common
hal_vepu_common
hal_rkvdec_com
${HAL_AVSD}
${HAL_AVS2D}
${HAL_H263D}
${HAL_H264D}
${HAL_H265D}
${HAL_MPEG2D}
${HAL_MPEG4D}
${HAL_VP8D}
${HAL_VP9D}
${HAL_JPEGD}
${HAL_AV1D}
${HAL_H264E}
${HAL_JPEGE}
${HAL_H265E}
${HAL_VP8E}
)