Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit e51f200

Browse filesBrowse files
committed
fix: Fix installation location for shared libraries
1 parent d5f6a15 commit e51f200
Copy full SHA for e51f200

File tree

Expand file treeCollapse file tree

1 file changed

+25
-45
lines changed
Filter options
Expand file treeCollapse file tree

1 file changed

+25
-45
lines changed

‎CMakeLists.txt

Copy file name to clipboardExpand all lines: CMakeLists.txt
+25-45Lines changed: 25 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,28 @@ project(llama_cpp)
55
option(LLAMA_BUILD "Build llama.cpp shared library and install alongside python package" ON)
66
option(LLAVA_BUILD "Build llava shared library and install alongside python package" ON)
77

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()
1730

1831
if (LLAMA_BUILD)
1932
set(BUILD_SHARED_LIBS "On")
@@ -45,30 +58,8 @@ if (LLAMA_BUILD)
4558
endif()
4659

4760
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)
7263
# Workaround for Windows + CUDA https://github.com/abetlen/llama-cpp-python/issues/563
7364
if (WIN32 AND (LLAMA_CUDA OR LLAMA_CUBLAS))
7465
install(
@@ -94,17 +85,6 @@ if (LLAMA_BUILD)
9485
if (WIN32)
9586
set_target_properties(llava_shared PROPERTIES CUDA_ARCHITECTURES OFF)
9687
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)
10989
endif()
11090
endif()

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.