@@ -5,9 +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 )
12
+ else ()
13
+ set (LLAMA_CPP_PYTHON_INSTALL_DIR ${SKBUILD_PLATLIB_DIR} /llama_cpp )
14
+ endif ()
15
+
8
16
if (LLAMA_BUILD )
9
17
set (BUILD_SHARED_LIBS "On" )
10
18
19
+ set (CMAKE_SKIP_BUILD_RPATH FALSE )
20
+
21
+ # When building, don't use the install RPATH already
22
+ # (but later on when installing)
23
+ set (CMAKE_BUILD_WITH_INSTALL_RPATH FALSE )
24
+
25
+ # Add the automatically determined parts of the RPATH
26
+ # which point to directories outside the build tree to the install RPATH
27
+ set (CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE )
28
+ set (CMAKE_INSTALL_RPATH "${LLAMA_CPP_PYTHON_INSTALL_DIR} " )
29
+
11
30
# Building llama
12
31
if (APPLE AND NOT CMAKE_SYSTEM_PROCESSOR MATCHES "arm64" )
13
32
# Need to disable these llama.cpp flags on Apple x86_64,
@@ -24,31 +43,26 @@ if (LLAMA_BUILD)
24
43
25
44
add_subdirectory (vendor/llama.cpp )
26
45
install (
27
- TARGETS llama
28
- LIBRARY DESTINATION ${SKBUILD_PLATLIB_DIR} /llama_cpp
29
- RUNTIME DESTINATION ${SKBUILD_PLATLIB_DIR} /llama_cpp
30
- ARCHIVE DESTINATION ${SKBUILD_PLATLIB_DIR} /llama_cpp
31
- FRAMEWORK DESTINATION ${SKBUILD_PLATLIB_DIR} /llama_cpp
32
- RESOURCE DESTINATION ${SKBUILD_PLATLIB_DIR} /llama_cpp
46
+ TARGETS llama
47
+ LIBRARY DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
48
+ RUNTIME DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
49
+ ARCHIVE DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
50
+ FRAMEWORK DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
51
+ RESOURCE DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
33
52
)
34
- # Temporary fix for https://github.com/scikit-build/scikit-build-core/issues/374
35
53
install (
36
- TARGETS llama
37
- LIBRARY DESTINATION ${CMAKE_CURRENT_SOURCE_DIR} /llama_cpp
38
- RUNTIME DESTINATION ${CMAKE_CURRENT_SOURCE_DIR} /llama_cpp
39
- ARCHIVE DESTINATION ${CMAKE_CURRENT_SOURCE_DIR} /llama_cpp
40
- FRAMEWORK DESTINATION ${CMAKE_CURRENT_SOURCE_DIR} /llama_cpp
41
- RESOURCE DESTINATION ${CMAKE_CURRENT_SOURCE_DIR} /llama_cpp
54
+ TARGETS ggml
55
+ LIBRARY DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
56
+ RUNTIME DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
57
+ ARCHIVE DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
58
+ FRAMEWORK DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
59
+ RESOURCE DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
42
60
)
43
61
# Workaround for Windows + CUDA https://github.com/abetlen/llama-cpp-python/issues/563
44
62
if (WIN32 AND (LLAMA_CUDA OR LLAMA_CUBLAS ))
45
63
install (
46
64
FILES $< TARGET_RUNTIME_DLLS:llama>
47
- DESTINATION ${SKBUILD_PLATLIB_DIR} /llama_cpp
48
- )
49
- install (
50
- FILES $< TARGET_RUNTIME_DLLS:llama>
51
- DESTINATION ${CMAKE_CURRENT_SOURCE_DIR} /llama_cpp
65
+ DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
52
66
)
53
67
endif ()
54
68
@@ -71,20 +85,11 @@ if (LLAMA_BUILD)
71
85
endif ()
72
86
install (
73
87
TARGETS llava_shared
74
- LIBRARY DESTINATION ${SKBUILD_PLATLIB_DIR} /llama_cpp
75
- RUNTIME DESTINATION ${SKBUILD_PLATLIB_DIR} /llama_cpp
76
- ARCHIVE DESTINATION ${SKBUILD_PLATLIB_DIR} /llama_cpp
77
- FRAMEWORK DESTINATION ${SKBUILD_PLATLIB_DIR} /llama_cpp
78
- RESOURCE DESTINATION ${SKBUILD_PLATLIB_DIR} /llama_cpp
79
- )
80
- # Temporary fix for https://github.com/scikit-build/scikit-build-core/issues/374
81
- install (
82
- TARGETS llava_shared
83
- LIBRARY DESTINATION ${CMAKE_CURRENT_SOURCE_DIR} /llama_cpp
84
- RUNTIME DESTINATION ${CMAKE_CURRENT_SOURCE_DIR} /llama_cpp
85
- ARCHIVE DESTINATION ${CMAKE_CURRENT_SOURCE_DIR} /llama_cpp
86
- FRAMEWORK DESTINATION ${CMAKE_CURRENT_SOURCE_DIR} /llama_cpp
87
- RESOURCE DESTINATION ${CMAKE_CURRENT_SOURCE_DIR} /llama_cpp
88
+ LIBRARY DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
89
+ RUNTIME DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
90
+ ARCHIVE DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
91
+ FRAMEWORK DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
92
+ RESOURCE DESTINATION ${LLAMA_CPP_PYTHON_INSTALL_DIR}
88
93
)
89
94
endif ()
90
95
endif ()
0 commit comments