@@ -5,15 +5,28 @@ project(llama_cpp)
55option (LLAMA_BUILD "Build llama.cpp shared library and install alongside python package" ON )
66option (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
1831if (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 ()
11090endif ()
0 commit comments