# 插件子目录 CMakeLists.txt

# 插件源文件列表
set(SOURCES gpu_intel.c)

# 创建插件库目标
add_library(intel SHARED ${SOURCES})

# 设置libze_loader.so库路径
set(LIB_ZE_PATH "" CACHE STRING "Intel oneAPI Level Zero library dir")

if("${LIB_ZE_PATH}" STREQUAL "")
    if(UNIX)
        if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
            set(LIB_ZE_PATH "\"/usr/lib/x86_64-linux-gnu/libze_loader.so\"")
        elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
            set(LIB_ZE_PATH "\"/usr/lib/aarch64-linux-gnu/libze_loader.so\"")
        endif()
    elseif(ANDROID)
        set(LIB_ZE_PATH "\"path/to/android/library/libze_loader.so\"")
    endif()
endif()

add_definitions(-DLIB_ZE_PATH=${LIB_ZE_PATH})

message("LIB_ZE_PATH: ${LIB_ZE_PATH}")

target_include_directories(intel PRIVATE "${SOURCE_TOP_DIR}/include" "${SOURCE_TOP_DIR}/third_party/intel")

set_target_properties(intel PROPERTIES LIBRARY_OUTPUT_DIRECTORY ..)

target_compile_options("intel" PRIVATE -O2)

install(TARGETS intel
        LIBRARY DESTINATION lib/kyml/plugins/xpu)
