Skip to content

Commit

Permalink
Install mlx.dll into the same dir with python bindings on Windows (#1690
Browse files Browse the repository at this point in the history
)

* Install mlx.dll into the same dir with python bindings on Windows

* Set BUILD_SHARED_LIBS for dlfcn-win32

* Update cmake requirements to 3.25

* Fix cmake style
  • Loading branch information
zcbenz authored Dec 14, 2024
1 parent 4768c61 commit f9640e0
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 6 deletions.
10 changes: 8 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.24)
cmake_minimum_required(VERSION 3.25)

project(mlx LANGUAGES C CXX)

Expand Down Expand Up @@ -126,7 +126,10 @@ if(WIN32)
GIT_REPOSITORY https://github.com/dlfcn-win32/dlfcn-win32.git
GIT_TAG v1.4.1
EXCLUDE_FROM_ALL)
block()
set(BUILD_SHARED_LIBS OFF)
FetchContent_MakeAvailable(dlfcn-win32)
endblock()
target_include_directories(mlx PRIVATE "${dlfcn-win32_SOURCE_DIR}/src")
target_link_libraries(mlx PRIVATE dl)
endif()
Expand Down Expand Up @@ -264,7 +267,10 @@ install(
EXPORT MLXTargets
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
RUNTIME
DESTINATION
# On Windows, DLLs must be put in the same dir with the python bindings.
$<IF:$<BOOL:${WIN32}>,${CMAKE_INSTALL_PREFIX},${CMAKE_INSTALL_BINDIR}>
INCLUDES
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})

Expand Down
2 changes: 1 addition & 1 deletion docs/src/install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ Build Requirements
^^^^^^^^^^^^^^^^^^

- A C++ compiler with C++17 support (e.g. Clang >= 5.0)
- `cmake <https://cmake.org/>`_ -- version 3.24 or later, and ``make``
- `cmake <https://cmake.org/>`_ -- version 3.25 or later, and ``make``
- Xcode >= 15.0 and macOS SDK >= 14.0

.. note::
Expand Down
2 changes: 1 addition & 1 deletion examples/extensions/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[build-system]
requires = [
"setuptools>=42",
"cmake>=3.24",
"cmake>=3.25",
"mlx>=0.18.0",
"nanobind==2.2.0",
]
Expand Down
2 changes: 1 addition & 1 deletion examples/extensions/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
setuptools>=42
cmake>=3.24
cmake>=3.25
mlx>=0.21.0
nanobind==2.2.0
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
requires = [
"setuptools>=42",
"nanobind==2.2.0",
"cmake>=3.24",
"cmake>=3.25",
]
build-backend = "setuptools.build_meta"

0 comments on commit f9640e0

Please sign in to comment.