12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- cmake_minimum_required(VERSION 3.21)
- project(Ollama C CXX)
- include(CheckLanguage)
- find_package(Threads REQUIRED)
- set(CMAKE_BUILD_TYPE Release)
- set(BUILD_SHARED_LIBS ON)
- set(CMAKE_CXX_STANDARD 17)
- set(CMAKE_CXX_STANDARD_REQUIRED ON)
- set(CMAKE_CXX_EXTENSIONS OFF)
- set(GGML_BUILD ON)
- set(GGML_SHARED ON)
- set(GGML_CCACHE ON)
- set(GGML_BACKEND_DL ON)
- set(GGML_BACKEND_SHARED ON)
- set(GGML_SCHED_MAX_COPIES 4)
- set(GGML_LLAMAFILE ON)
- set(GGML_CPU_ALL_VARIANTS ON)
- set(GGML_CUDA_PEER_MAX_BATCH_SIZE 128)
- set(GGML_CUDA_GRAPHS ON)
- set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
- set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
- include_directories(${CMAKE_CURRENT_SOURCE_DIR}/ml/backend/ggml/ggml/src)
- include_directories(${CMAKE_CURRENT_SOURCE_DIR}/ml/backend/ggml/ggml/src/include)
- include_directories(${CMAKE_CURRENT_SOURCE_DIR}/ml/backend/ggml/ggml/src/ggml-cpu)
- include_directories(${CMAKE_CURRENT_SOURCE_DIR}/ml/backend/ggml/ggml/src/ggml-cpu/amx)
- set(GGML_CPU ON)
- add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/ml/backend/ggml/ggml/src)
- set_property(TARGET ggml PROPERTY EXCLUDE_FROM_ALL TRUE)
- check_language(CUDA)
- if(CMAKE_CUDA_COMPILER)
- if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.24" AND NOT CMAKE_CUDA_ARCHITECTURES)
- set(CMAKE_CUDA_ARCHITECTURES "native")
- endif()
- add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/ml/backend/ggml/ggml/src/ggml-cuda)
- endif()
- check_language(HIP)
- if(CMAKE_HIP_COMPILER)
- add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/ml/backend/ggml/ggml/src/ggml-hip)
- endif()
|