# 插件子目录 CMakeLists.txt

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

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

# 设置libnvidia-ml.so库路径
set(LIB_NVML_PATH "" CACHE STRING "NVML library dir")

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

add_definitions(-DLIB_NVML_PATH=${LIB_NVML_PATH})

message("LIB_NVML_PATH: ${LIB_NVML_PATH}")


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

set_target_properties(nvml PROPERTIES LIBRARY_OUTPUT_DIRECTORY ..)

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