34 lines
959 B
CMake
34 lines
959 B
CMake
cmake_minimum_required(VERSION 3.4...3.22)
|
|
|
|
project(llama_cpp)
|
|
|
|
option(FORCE_CMAKE "Force CMake build of Python bindings" OFF)
|
|
|
|
set(FORCE_CMAKE $ENV{FORCE_CMAKE})
|
|
|
|
if (UNIX AND NOT FORCE_CMAKE)
|
|
add_custom_command(
|
|
OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/vendor/llama.cpp/libllama.so
|
|
COMMAND make libllama.so
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/vendor/llama.cpp
|
|
)
|
|
add_custom_target(
|
|
run ALL
|
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/vendor/llama.cpp/libllama.so
|
|
)
|
|
install(
|
|
FILES ${CMAKE_CURRENT_SOURCE_DIR}/vendor/llama.cpp/libllama.so
|
|
DESTINATION llama_cpp
|
|
)
|
|
else()
|
|
set(BUILD_SHARED_LIBS "On")
|
|
add_subdirectory(vendor/llama.cpp)
|
|
install(
|
|
TARGETS llama
|
|
LIBRARY DESTINATION llama_cpp
|
|
RUNTIME DESTINATION llama_cpp
|
|
ARCHIVE DESTINATION llama_cpp
|
|
FRAMEWORK DESTINATION llama_cpp
|
|
RESOURCE DESTINATION llama_cpp
|
|
)
|
|
endif()
|