mirror of
				https://github.com/ml-explore/mlx.git
				synced 2025-11-04 18:48:15 +08:00 
			
		
		
		
	* Dispatch bf16 at run time when using the JIT * fix extension * fix extension build * fix extension build * Update utils.h
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PkgConfig
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PkgConfig
		
	
	
	
	
	
# Find MLX
 | 
						|
#
 | 
						|
# Defines the following variables:
 | 
						|
#
 | 
						|
#   MLX_FOUND            : True if MLX is found
 | 
						|
#   MLX_INCLUDE_DIRS     : Include directory
 | 
						|
#   MLX_LIBRARIES        : Libraries to link against
 | 
						|
#   MLX_CXX_FLAGS        : Additional compiler flags
 | 
						|
#   MLX_BUILD_ACCELERATE : True if MLX was built with accelerate 
 | 
						|
#   MLX_BUILD_METAL      : True if MLX was built with metal 
 | 
						|
 | 
						|
@PACKAGE_INIT@
 | 
						|
 | 
						|
include(@PACKAGE_MLX_CMAKE_INSTALL_MODULE_DIR@/MLXTargets.cmake)
 | 
						|
include(@PACKAGE_MLX_CMAKE_INSTALL_MODULE_DIR@/extension.cmake)
 | 
						|
 | 
						|
set_and_check(MLX_LIBRARY_DIRS @PACKAGE_CMAKE_INSTALL_LIBDIR@)
 | 
						|
set_and_check(MLX_INCLUDE_DIRS @PACKAGE_CMAKE_INSTALL_INCLUDEDIR@)
 | 
						|
set(MLX_LIBRARIES mlx)
 | 
						|
 | 
						|
find_library(MLX_LIBRARY mlx PATHS ${MLX_LIBRARY_DIRS})
 | 
						|
 | 
						|
if (@MLX_BUILD_ACCELERATE@)
 | 
						|
    set(MLX_BUILD_ACCELERATE @MLX_BUILD_ACCELERATE@)
 | 
						|
    set(MLX_CXX_FLAGS ${MLX_CXX_FLAGS} -DACCELERATE_NEW_LAPACK)
 | 
						|
endif()
 | 
						|
 | 
						|
if (@MLX_BUILD_METAL@)
 | 
						|
    set(MLX_BUILD_METAL @MLX_BUILD_METAL@)
 | 
						|
    set(MLX_CXX_FLAGS ${MLX_CXX_FLAGS} -D_METAL_)
 | 
						|
    set(MLX_INCLUDE_DIRS 
 | 
						|
        "${MLX_INCLUDE_DIRS};"
 | 
						|
        @PACKAGE_CMAKE_INSTALL_INCLUDEDIR@/metal_cpp
 | 
						|
    )
 | 
						|
    if(@MLX_METAL_VERSION@ GREATER_EQUAL 310)
 | 
						|
      set(MLX_INCLUDE_DIRS
 | 
						|
        "${MLX_INCLUDE_DIRS};"
 | 
						|
        @PACKAGE_CMAKE_INSTALL_INCLUDEDIR@/mlx/backend/metal/kernels/metal_3_1)
 | 
						|
    else()
 | 
						|
      set(MLX_INCLUDE_DIRS
 | 
						|
        "${MLX_INCLUDE_DIRS};"
 | 
						|
        @PACKAGE_CMAKE_INSTALL_INCLUDEDIR@/mlx/backend/metal/kernels/metal_3_0)
 | 
						|
    endif()
 | 
						|
endif()
 | 
						|
 | 
						|
set_target_properties(mlx PROPERTIES
 | 
						|
    CXX_STANDARD 17
 | 
						|
    INTERFACE_COMPILE_OPTIONS "${MLX_CXX_FLAGS}"
 | 
						|
)
 | 
						|
 | 
						|
include(FindPackageHandleStandardArgs)
 | 
						|
find_package_handle_standard_args(MLX DEFAULT_MSG MLX_LIBRARY MLX_INCLUDE_DIRS)
 |