cmake_minimum_required(VERSION 3.25)
project(tb_mlx LANGUAGES C CXX)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 20)
set(MLX_C_USE_SYSTEM_MLX ON CACHE BOOL "" FORCE)
set(BUILD_SHARED_LIBS ON CACHE BOOL "" FORCE)
set(MLX_C_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
add_subdirectory("${MLX_C_SOURCE}" mlx-c)
add_library(tb_mlx SHARED mlx_bridge.c)
target_link_libraries(tb_mlx PRIVATE mlxc)
target_include_directories(tb_mlx PRIVATE "${MLX_C_SOURCE}")

add_executable(tb_native_benchmark benchmark.c)
target_link_libraries(tb_native_benchmark PRIVATE tb_mlx)
if(UNIX AND NOT APPLE)
  target_link_libraries(tb_native_benchmark PRIVATE m)
endif()
