mirror of
https://github.com/ggml-org/llama.cpp.git
synced 2025-06-27 03:55:20 +00:00
cmake: Fix ggml backend dependencies and installation (#11818)
* Fix dependencies between ggml and backends ggml backends link only to ggml-base and ggml links to all backends. * Fix installation of ggml backends Set up GNUInstallDirs before setting the installation directory of ggml backends
This commit is contained in:
committed by
GitHub
parent
a800ae46da
commit
b95c8af37c
@ -212,6 +212,8 @@ set(THREADS_PREFER_PTHREAD_FLAG ON)
|
|||||||
|
|
||||||
find_package(Threads REQUIRED)
|
find_package(Threads REQUIRED)
|
||||||
|
|
||||||
|
include(GNUInstallDirs)
|
||||||
|
|
||||||
#
|
#
|
||||||
# build the library
|
# build the library
|
||||||
#
|
#
|
||||||
@ -235,7 +237,6 @@ endif ()
|
|||||||
# install
|
# install
|
||||||
#
|
#
|
||||||
|
|
||||||
include(GNUInstallDirs)
|
|
||||||
include(CMakePackageConfigHelpers)
|
include(CMakePackageConfigHelpers)
|
||||||
|
|
||||||
# all public headers
|
# all public headers
|
||||||
|
@ -112,7 +112,7 @@ foreach(_ggml_backend ${GGML_AVAILABLE_BACKENDS})
|
|||||||
|
|
||||||
string(REGEX MATCH "^ggml-cpu" is_cpu_variant "${_ggml_backend}")
|
string(REGEX MATCH "^ggml-cpu" is_cpu_variant "${_ggml_backend}")
|
||||||
if(is_cpu_variant)
|
if(is_cpu_variant)
|
||||||
list(APPEND GGML_CPU_INTERFACE_LINK_LIBRARIES "ggml::ggml" "ggml::ggml-base")
|
list(APPEND GGML_CPU_INTERFACE_LINK_LIBRARIES "ggml::ggml-base")
|
||||||
set_target_properties(ggml::${_ggml_backend}
|
set_target_properties(ggml::${_ggml_backend}
|
||||||
PROPERTIES
|
PROPERTIES
|
||||||
INTERFACE_LINK_LIBRARIES "${GGML_CPU_INTERFACE_LINK_LIBRARIES}")
|
INTERFACE_LINK_LIBRARIES "${GGML_CPU_INTERFACE_LINK_LIBRARIES}")
|
||||||
@ -124,7 +124,7 @@ foreach(_ggml_backend ${GGML_AVAILABLE_BACKENDS})
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
else()
|
else()
|
||||||
list(APPEND ${_ggml_backend_pfx}_INTERFACE_LINK_LIBRARIES "ggml::ggml" "ggml::ggml-base")
|
list(APPEND ${_ggml_backend_pfx}_INTERFACE_LINK_LIBRARIES "ggml::ggml-base")
|
||||||
set_target_properties(ggml::${_ggml_backend}
|
set_target_properties(ggml::${_ggml_backend}
|
||||||
PROPERTIES
|
PROPERTIES
|
||||||
INTERFACE_LINK_LIBRARIES "${${_ggml_backend_pfx}_INTERFACE_LINK_LIBRARIES}")
|
INTERFACE_LINK_LIBRARIES "${${_ggml_backend_pfx}_INTERFACE_LINK_LIBRARIES}")
|
||||||
@ -139,6 +139,11 @@ foreach(_ggml_backend ${GGML_AVAILABLE_BACKENDS})
|
|||||||
list(APPEND _ggml_all_targets ggml::${_ggml_backend})
|
list(APPEND _ggml_all_targets ggml::${_ggml_backend})
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
|
list(APPEND GGML_INTERFACE_LINK_LIBRARIES ggml::ggml-base "${_ggml_all_targets}")
|
||||||
|
set_target_properties(ggml::ggml
|
||||||
|
PROPERTIES
|
||||||
|
INTERFACE_LINK_LIBRARIES "${GGML_INTERFACE_LINK_LIBRARIES}")
|
||||||
|
|
||||||
add_library(ggml::all INTERFACE IMPORTED)
|
add_library(ggml::all INTERFACE IMPORTED)
|
||||||
set_target_properties(ggml::all
|
set_target_properties(ggml::all
|
||||||
PROPERTIES
|
PROPERTIES
|
||||||
|
Reference in New Issue
Block a user