@@ -5,9 +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)
12+ else ()
13+ set (LLAMA_CPP_PYTHON_INSTALL_DIR ${SKBUILD_PLATLIB_DIR} /llama_cpp)
14+ endif ()
15+
816if (LLAMA_BUILD)
917 set (BUILD_SHARED_LIBS "On" )
1018
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+
1130 # Building llama
1231 if (APPLE AND NOT CMAKE_SYSTEM_PROCESSOR MATCHES "arm64" )
1332 # Need to disable these llama.cpp flags on Apple x86_64,
@@ -24,31 +43,26 @@ if (LLAMA_BUILD)
2443
2544 add_subdirectory (vendor/llama.cpp)
2645 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}
3352 )
34- # Temporary fix for https://github.com/scikit-build/scikit-build-core/issues/374
3553 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}
4260 )
4361 # Workaround for Windows + CUDA https://github.com/abetlen/llama-cpp-python/issues/563
4462 if (WIN32 AND (LLAMA_CUDA OR LLAMA_CUBLAS))
4563 install (
4664 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}
5266 )
5367 endif ()
5468
@@ -71,20 +85,11 @@ if (LLAMA_BUILD)
7185 endif ()
7286 install (
7387 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}
8893 )
8994 endif ()
9095endif ()
0 commit comments