mirror of
				https://github.com/ml-explore/mlx.git
				synced 2025-10-31 16:21:27 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| # Doctest works fine with cmake 3.5
 | |
| set(CMAKE_POLICY_VERSION_MINIMUM 3.5)
 | |
| 
 | |
| FetchContent_Declare(
 | |
|   doctest
 | |
|   GIT_REPOSITORY "https://github.com/onqtam/doctest"
 | |
|   GIT_TAG "ae7a13539fb71f270b87eb2e874fbac80bc8dda2")
 | |
| 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)
 | 
