sparkle/native/ext/CMakeLists.txt
fiser_jun 4745f264b2
2026-08-04 14:34:00 +08:00

33 lines
705 B
CMake

cmake_minimum_required(VERSION 3.22)
project(native_moe_mlx_ext LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Python COMPONENTS Interpreter Development.Module REQUIRED)
find_package(nanobind CONFIG REQUIRED)
find_package(MLX CONFIG REQUIRED)
nanobind_add_module(
native_moe_ext
NB_STATIC
STABLE_ABI
LTO
NOMINSIZE
NB_DOMAIN mlx
compute/fused_moe.cpp
io/blob_load.cpp
io/bg_reader.cpp
prefetch/prefetch.cpp
pool/owned_pool.cpp
pool/side_region.cpp
pool/demand.cpp
bindings.cpp
)
target_link_libraries(native_moe_ext PRIVATE mlx)
if(BUILD_SHARED_LIBS)
target_link_options(native_moe_ext PRIVATE -Wl,-rpath,@loader_path)
endif()