# SPDX-License-Identifier: Apache-2.0 # Copyright (C) 2022-2025, Advanced Micro Devices, Inc. All rights reserved. set(XDNA_TARGET xrt_driver_xdna) set(XRT_CORE_TARGET xrt_core) set(XRT_COREUTIL_TARGET xrt_coreutil) aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR} MAIN_SOURCES) aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/kmq KMQ_SOURCES) aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/umq UMQ_SOURCES) aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/host HOST_SOURCES) aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/virtio VIRTIO_SOURCES) add_library(${XDNA_TARGET} SHARED ${MAIN_SOURCES} ${KMQ_SOURCES} ${UMQ_SOURCES} ${HOST_SOURCES} ${VIRTIO_SOURCES} ) set_target_properties(${XDNA_TARGET} PROPERTIES VERSION ${XRT_PLUGIN_VERSION_STRING} SOVERSION ${XRT_SOVERSION} ) target_compile_definitions(${XDNA_TARGET} PRIVATE # below macros is required so that i/f defined in ishim.h is # consistent with native xrt implementation XRT_ENABLE_AIE XRT_AIE_BUILD XRT_BUILD $<$:XDNA_SHIM_DEBUG> ) if(${UMQ_HELLO_TEST}) add_definitions(-DUMQ_HELLO_TEST) endif() target_compile_options(${XDNA_TARGET} PRIVATE "-fPIC" ) target_include_directories(${XDNA_TARGET} PRIVATE ${XRT_SOURCE_DIR}/runtime_src ${XRT_SOURCE_DIR}/runtime_src/core/include ${XRT_SOURCE_DIR}/runtime_src/core/common/gsl/include ${XRT_BINARY_DIR}/gen ${CMAKE_CURRENT_SOURCE_DIR}/../include/uapi ${CMAKE_CURRENT_SOURCE_DIR}/../vxdna/src ) # driver plugin will be loaded while xrt_core is still being # dlopen'ed, symbols against libxrt_core.so can't be solved # at that time, so need to be fully solved here. target_link_libraries(${XDNA_TARGET} PRIVATE xrt_core ${XRT_CORE_TARGET} ${XRT_COREUTIL_TARGET} ) target_link_options(${XDNA_TARGET} PRIVATE "-Wl,-z,defs" ) # install components for packaging install(TARGETS ${XDNA_TARGET} LIBRARY DESTINATION ${XDNA_PKG_LIB_DIR} NAMELINK_SKIP COMPONENT ${XDNA_COMPONENT} ) # install components for testing install(TARGETS ${XRT_CORE_TARGET} DESTINATION ${XDNA_BIN_DIR}/${XDNA_PKG_LIB_DIR}) install(TARGETS ${XRT_COREUTIL_TARGET} DESTINATION ${XDNA_BIN_DIR}/${XDNA_PKG_LIB_DIR}) install(TARGETS ${XDNA_TARGET} DESTINATION ${XDNA_BIN_DIR}/${XDNA_PKG_LIB_DIR})