mirror of
				https://github.com/ml-explore/mlx.git
				synced 2025-11-04 10:38:10 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			50 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
FetchContent_Declare(
 | 
						|
  doctest
 | 
						|
  GIT_REPOSITORY https://github.com/onqtam/doctest.git
 | 
						|
  GIT_TAG v2.4.12)
 | 
						|
FetchContent_MakeAvailable(doctest)
 | 
						|
 | 
						|
add_executable(tests ${PROJECT_SOURCE_DIR}/tests/tests.cpp)
 | 
						|
 | 
						|
if(MLX_BUILD_METAL OR MLX_BUILD_CUDA)
 | 
						|
  set(METAL_TEST_SOURCES gpu_tests.cpp)
 | 
						|
endif()
 | 
						|
 | 
						|
include(${doctest_SOURCE_DIR}/scripts/cmake/doctest.cmake)
 | 
						|
 | 
						|
target_sources(
 | 
						|
  tests
 | 
						|
  PRIVATE allocator_tests.cpp
 | 
						|
          array_tests.cpp
 | 
						|
          arg_reduce_tests.cpp
 | 
						|
          autograd_tests.cpp
 | 
						|
          blas_tests.cpp
 | 
						|
          compile_tests.cpp
 | 
						|
          custom_vjp_tests.cpp
 | 
						|
          creations_tests.cpp
 | 
						|
          device_tests.cpp
 | 
						|
          einsum_tests.cpp
 | 
						|
          export_import_tests.cpp
 | 
						|
          eval_tests.cpp
 | 
						|
          fft_tests.cpp
 | 
						|
          load_tests.cpp
 | 
						|
          ops_tests.cpp
 | 
						|
          random_tests.cpp
 | 
						|
          scheduler_tests.cpp
 | 
						|
          utils_tests.cpp
 | 
						|
          vmap_tests.cpp
 | 
						|
          linalg_tests.cpp
 | 
						|
          ${METAL_TEST_SOURCES})
 | 
						|
 | 
						|
if(MLX_BUILD_CUDA)
 | 
						|
  # Find the CCCL headers in install dir.
 | 
						|
  target_compile_definitions(
 | 
						|
    mlx
 | 
						|
    PRIVATE
 | 
						|
      MLX_CCCL_DIR="${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/cccl")
 | 
						|
endif()
 | 
						|
 | 
						|
target_link_libraries(tests PRIVATE mlx doctest)
 | 
						|
doctest_discover_tests(tests)
 | 
						|
add_test(NAME tests COMMAND tests)
 |