@@ -5,15 +5,28 @@ project(llama_cpp)
5
5
option (LLAMA_BUILD "Build llama.cpp shared library and install alongside python package" ON )
6
6
option (LLAVA_BUILD "Build llava shared library and install alongside python package" ON )
7
7
8
- if (SKBUILD_STATE STREQUAL "editable" )
9
- # Install into the source directory
10
- # Temporary fix for https://github.com/scikit-build/scikit-build-core/issues/374
11
- set (LLAMA_CPP_PYTHON_INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR} /llama_cpp/lib )
12
- else ()
13
- set (LLAMA_CPP_PYTHON_INSTALL_DIR ${SKBUILD_PLATLIB_DIR} /llama_cpp/lib )
14
- endif ()
15
-
16
- message (STATUS "LLAMA_CPP_PYTHON_INSTALL_DIR: ${LLAMA_CPP_PYTHON_INSTALL_DIR} " )
8
+ function (llama_cpp_python_install_target target )
9
+ install (
10
+ TARGETS ${target}
11
+ LIBRARY DESTINATION ${CMAKE_CURRENT_SOURCE_DIR} /llama_cpp/lib
12
+ RUNTIME DESTINATION ${CMAKE_CURRENT_SOURCE_DIR} /llama_cpp/lib
13
+ ARCHIVE DESTINATION ${CMAKE_CURRENT_SOURCE_DIR} /llama_cpp/lib
14
+ FRAMEWORK DESTINATION ${CMAKE_CURRENT_SOURCE_DIR} /llama_cpp/lib
15
+ RESOURCE DESTINATION ${CMAKE_CURRENT_SOURCE_DIR} /llama_cpp/lib
16
+ )
17
+ install (
18
+ TARGETS ${target}
19
+ LIBRARY DESTINATION ${SKBUILD_PLATLIB_DIR} /llama_cpp/lib
20
+ RUNTIME DESTINATION ${SKBUILD_PLATLIB_DIR} /llama_cpp/lib
21
+ ARCHIVE DESTINATION ${SKBUILD_PLATLIB_DIR} /llama_cpp/lib
22
+ FRAMEWORK DESTINATION ${SKBUILD_PLATLIB_DIR} /llama_cpp/lib
23
+ RESOURCE DESTINATION ${SKBUILD_PLATLIB_DIR} /llama_cpp/lib
24
+ )
25
+ set_target_properties (${target} PROPERTIES
26
+ INSTALL_RPATH "$ORIGIN"
27
+ BUILD_WITH_INSTALL_RPATH TRUE
28
+ )
29
+ endfunction ()
17
30
18
31
if (LLAMA_BUILD )
19
32
set (BUILD_SHARED_LIBS "On" )
@@ -45,30 +58,8 @@ if (LLAMA_BUILD)
45
58
endif ()
46
59
47
60
add_subdirectory (vendor/llama.cpp )
48
- install (
49
- TARGETS llama
50
- LIBRARY DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
51
- RUNTIME DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
52
- ARCHIVE DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
53
- FRAMEWORK DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
54
- RESOURCE DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
55
- )
56
- set_target_properties (llama PROPERTIES
57
- INSTALL_RPATH "$ORIGIN"
58
- BUILD_WITH_INSTALL_RPATH TRUE
59
- )
60
- install (
61
- TARGETS ggml
62
- LIBRARY DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
63
- RUNTIME DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
64
- ARCHIVE DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
65
- FRAMEWORK DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
66
- RESOURCE DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
67
- )
68
- set_target_properties (ggml PROPERTIES
69
- INSTALL_RPATH "$ORIGIN"
70
- BUILD_WITH_INSTALL_RPATH TRUE
71
- )
61
+ llama_cpp_python_install_target (llama )
62
+ llama_cpp_python_install_target (ggml )
72
63
# Workaround for Windows + CUDA https://github.com/abetlen/llama-cpp-python/issues/563
73
64
if (WIN32 AND (LLAMA_CUDA OR LLAMA_CUBLAS ))
74
65
install (
@@ -94,17 +85,6 @@ if (LLAMA_BUILD)
94
85
if (WIN32 )
95
86
set_target_properties (llava_shared PROPERTIES CUDA_ARCHITECTURES OFF )
96
87
endif ()
97
- install (
98
- TARGETS llava_shared
99
- LIBRARY DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
100
- RUNTIME DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
101
- ARCHIVE DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
102
- FRAMEWORK DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
103
- RESOURCE DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
104
- )
105
- set_target_properties (llava PROPERTIES
106
- INSTALL_RPATH "$ORIGIN"
107
- BUILD_WITH_INSTALL_RPATH TRUE
108
- )
88
+ llama_cpp_python_install_target (llava_shared )
109
89
endif ()
110
90
endif ()
0 commit comments