add_library(
    ${TARGET_NAME}
    SHARED
    ${CMAKE_CURRENT_SOURCE_DIR}/exception.cc
    ${CMAKE_CURRENT_SOURCE_DIR}/launch.cc
    ${CMAKE_CURRENT_SOURCE_DIR}/type.cc
    ${CMAKE_CURRENT_SOURCE_DIR}/utils.cc
)

target_include_directories(
    ${TARGET_NAME}
    PRIVATE ${PROJECT_SOURCE_DIR}/include
)
target_compile_options(
    ${TARGET_NAME}
    PRIVATE
    $<$<CONFIG:Debug>:-O0 -g>
    $<$<CONFIG:Release>:-O3 -DNDEBUG>
)
target_link_libraries(
    ${TARGET_NAME}
    PRIVATE
    CUDA::cudart
    CUDA::cuda_driver
)
tvm_ffi_configure_target(
    ${TARGET_NAME}
    STUB_DIR "${CMAKE_SOURCE_DIR}/python"
    STUB_INIT ON
)

install(
    TARGETS ${TARGET_NAME}
    LIBRARY DESTINATION .
)
tvm_ffi_install(${TARGET_NAME} DESTINATION .)
