cmake_minimum_required(VERSION 3.18)

if(DEFINED SKBUILD_PROJECT_NAME)
    project(${SKBUILD_PROJECT_NAME})
else()
    project(triton-tvm-ffi)
endif()

string(REPLACE "-" "_" TARGET_NAME "${PROJECT_NAME}")

if(CMAKE_BUILD_TYPE STREQUAL "Debug")
    set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
else(CMAKE_BUILD_TYPE STREQUAL "Release")
endif()

find_package(CUDAToolkit REQUIRED)
find_package(Python COMPONENTS Interpreter REQUIRED)

execute_process(
    COMMAND "${Python_EXECUTABLE}" -m tvm_ffi.config --cmakedir
    OUTPUT_VARIABLE TVM_FFI_CMAKEDIR
    OUTPUT_STRIP_TRAILING_WHITESPACE
)
list(APPEND CMAKE_PREFIX_PATH "${TVM_FFI_CMAKEDIR}")

find_package(tvm_ffi CONFIG REQUIRED)

add_subdirectory(${PROJECT_SOURCE_DIR}/src)
