# CMakeLists.txt

cmake_minimum_required(VERSION 3.18)
project(hungarian_kernel LANGUAGES C CXX CUDA)

find_package(Python COMPONENTS Interpreter Development.Module REQUIRED)
execute_process(
  COMMAND "${Python_EXECUTABLE}"
          "-c" "from jax.extend import ffi; print(ffi.include_dir())"
  OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE XLA_DIR)
message(STATUS "XLA include directory: ${XLA_DIR}")

add_library(hungarian_kernel SHARED hungarian_kernel.cu)
target_include_directories(hungarian_kernel PUBLIC ${XLA_DIR})
target_compile_features(hungarian_kernel PUBLIC cxx_std_17)
install(TARGETS hungarian_kernel LIBRARY DESTINATION ${CMAKE_CURRENT_LIST_DIR})

add_executable(hungarian hungarian_kernel.cu)
target_include_directories(hungarian PUBLIC ${XLA_DIR})
target_compile_features(hungarian PUBLIC cxx_std_17)