CMakeLists.txt 637 B

12345678910111213141516171819202122
  1. cmake_minimum_required(VERSION 3.21)
  2. project(Ollama C CXX)
  3. set(CMAKE_BUILD_TYPE Release)
  4. set(BUILD_SHARED_LIBS ON)
  5. function(set_target_output_directory _target)
  6. if(TARGET ${_target})
  7. set_target_properties(${_target} PROPERTIES
  8. RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
  9. LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
  10. ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
  11. )
  12. endif()
  13. endfunction()
  14. add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/ml/backend/ggml)
  15. if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
  16. add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/ml/backend/mlx)
  17. endif()