get_filename_component(BASE_DIR "${CMAKE_CURRENT_LIST_DIR}/.." ABSOLUTE)
add_library(trs_drv_obj OBJECT)
set(TRS_SRC_FILES
${BASE_DIR}/core/trs_cb_event.c
${BASE_DIR}/core/trs_dev_drv.c
${BASE_DIR}/core/trs_res.c
${BASE_DIR}/core/trs_sqcq.c
${BASE_DIR}/core/trs_interface.c
${BASE_DIR}/shr_id/trs_shr_id_fd.c
${BASE_DIR}/shr_id/trs_shr_id_user.c
)
list(APPEND TRS_SRC_FILES
$<$<OR:$<STREQUAL:${PRODUCT},ascend910B>,$<STREQUAL:${PRODUCT},ascend950>>:${BASE_DIR}/shr_id/trs_shr_id_spod_user.c>
$<$<OR:$<STREQUAL:${PRODUCT},ascend910B>,$<STREQUAL:${PRODUCT},ascend950>>:${BASE_DIR}/remote/master/trs_master_event.c>
$<$<STREQUAL:${PRODUCT},ascend950>:${BASE_DIR}/remote/master/trs_sq_mem_raw.c>
$<$<STREQUAL:${PRODUCT},ascend950>:${BASE_DIR}/remote/master/trs_sq_mem_cache.c>
$<$<STREQUAL:${PRODUCT},ascend950>:${BASE_DIR}/remote/master/trs_sqcq_mem.c>
)
target_sources(trs_drv_obj PRIVATE
${TRS_SRC_FILES}
)
target_include_directories(trs_drv_obj PRIVATE
${CMAKE_CURRENT_LIST_DIR}
${BASE_DIR}
${BASE_DIR}/inc
${BASE_DIR}/core
${BASE_DIR}/shr_id
${BASE_DIR}/remote/master
${BASE_DIR}/core/urma/master
${BASE_DIR}/core/urma
${DRIVER_USER_DIR}/inc
${DRIVER_USER_DIR}/inc/pbl
${DRIVER_USER_DIR}/inc/trs
${DRIVER_USER_DIR}/buff/dc/comm/lib
${DRIVER_USER_DIR}/msnpureport/inc/slog/
${C_SEC_INCLUDE}/
${DRIVER_HAL_INC_DIR}
${DRIVER_KERNEL_DIR}/trsdrv/trs/shr_id/command/ioctl
${DRIVER_KERNEL_DIR}/trsdrv/trs/trs_core/command/ioctl
${DRIVER_KERNEL_DIR}/pbl/dev_urd/command/ioctl
${DRIVER_KERNEL_DIR}/dms/command/ioctl
${DRIVER_USER_DIR}/inc/dms
${DRIVER_USER_DIR}/trs/core/command/msg
${DRIVER_USER_DIR}/buff/dc/comm/lib
$<$<STREQUAL:${PRODUCT},ascend950>:${DRIVER_USER_DIR}/../../../../ubengine/ssapi/kernelspace/urma/code/include>
)
target_link_libraries(trs_drv_obj PRIVATE
$<BUILD_INTERFACE:intf_pub>
-ldl
-Wl,--Bsymbolic
)
target_compile_definitions(trs_drv_obj PRIVATE
$<$<STREQUAL:${CMAKE_BUILD_TYPE},Debug>:CFG_BUILD_DEBUG>
$<$<STREQUAL:${PRODUCT_SIDE},host>:DRV_HOST>
$<$<STREQUAL:${PRODUCT_SIDE},host>:PCIE_HOST>
$<$<STREQUAL:${PRODUCT_SIDE},host>:CFG_MANAGER_HOST_ENV>
$<$<STREQUAL:${PRODUCT},ascend910B>:CFG_SOC_PLATFORM_CLOUD>
$<$<STREQUAL:${PRODUCT},ascend910B>:CFG_SOC_PLATFORM_CLOUD_V2>
$<$<STREQUAL:${PRODUCT},ascend910B>:CFG_FEATURE_RUNTIME_NO_THREAD>
$<$<STREQUAL:${PRODUCT},ascend910B>:CFG_FEATURE_CALLBACK_EVENT>
$<$<STREQUAL:${PRODUCT},ascend910B>:CFG_FEATURE_SUPPORT_STREAM_TASK>
$<$<STREQUAL:${PRODUCT},ascend950>:CFG_SOC_PLATFORM_CLOUD>
$<$<STREQUAL:${PRODUCT},ascend950>:CFG_SOC_PLATFORM_CLOUD_V4>
$<$<STREQUAL:${PRODUCT},ascend950>:CFG_FEATURE_EVENT_ESCHED_ACTIVE_STREAM>
$<$<STREQUAL:${PRODUCT},ascend950>:CFG_FEATURE_SQCQ_RESET>
$<$<STREQUAL:${PRODUCT},ascend950>:CFG_FEATURE_SQ_SEND_LOCK>
$<$<STREQUAL:${PRODUCT},ascend950>:CFG_FEATURE_RUNTIME_NO_THREAD>
$<$<STREQUAL:${PRODUCT},ascend950>:CFG_FEATURE_CALLBACK_EVENT>
$<$<STREQUAL:${PRODUCT},ascend950>:SSAPI_USE_MAMI>
$<$<STREQUAL:${PRODUCT},ascend950>:CFG_FEATURE_SUPPORT_STREAM_TASK>
$<$<STREQUAL:${ENABLE_UBE},true>:CFG_FEATURE_SUPPORT_UB>
)