mirror of
https://github.com/ml-explore/mlx.git
synced 2025-06-25 01:41:17 +08:00

* mostly builds * most tests pass * fix circle build * add back buffer protocol * includes * fix for py38 * limit to cpu device * include * fix stubs * move signatures for docs * stubgen + docs fix * doc for compiled function, comments
40 lines
1.2 KiB
CMake
40 lines
1.2 KiB
CMake
nanobind_add_module(
|
|
core
|
|
NB_STATIC STABLE_ABI LTO NOMINSIZE
|
|
NB_DOMAIN mlx
|
|
${CMAKE_CURRENT_SOURCE_DIR}/mlx.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/array.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/convert.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/device.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/fast.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/fft.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/indexing.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/load.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/metal.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/ops.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/stream.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/transforms.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/random.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/linalg.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/constants.cpp
|
|
${CMAKE_CURRENT_SOURCE_DIR}/trees.cpp
|
|
)
|
|
|
|
if (NOT MLX_PYTHON_BINDINGS_OUTPUT_DIRECTORY)
|
|
set(MLX_PYTHON_BINDINGS_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
|
|
endif()
|
|
|
|
set_target_properties(
|
|
core
|
|
PROPERTIES
|
|
LIBRARY_OUTPUT_DIRECTORY
|
|
${MLX_PYTHON_BINDINGS_OUTPUT_DIRECTORY}
|
|
)
|
|
|
|
target_link_libraries(core PRIVATE mlx)
|
|
target_compile_definitions(core PRIVATE _VERSION_=${MLX_VERSION})
|
|
|
|
if(BUILD_SHARED_LIBS)
|
|
target_link_options(core PRIVATE -Wl,-rpath,@loader_path/lib)
|
|
endif()
|