Skip to content

Commit b95c8af

Browse files
authored
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
1 parent a800ae4 commit b95c8af

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

ggml/CMakeLists.txt

+2-1
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,8 @@ set(THREADS_PREFER_PTHREAD_FLAG ON)
212212

213213
find_package(Threads REQUIRED)
214214

215+
include(GNUInstallDirs)
216+
215217
#
216218
# build the library
217219
#
@@ -235,7 +237,6 @@ endif ()
235237
# install
236238
#
237239

238-
include(GNUInstallDirs)
239240
include(CMakePackageConfigHelpers)
240241

241242
# all public headers

ggml/cmake/ggml-config.cmake.in

+7-2
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ foreach(_ggml_backend ${GGML_AVAILABLE_BACKENDS})
112112

113113
string(REGEX MATCH "^ggml-cpu" is_cpu_variant "${_ggml_backend}")
114114
if(is_cpu_variant)
115-
list(APPEND GGML_CPU_INTERFACE_LINK_LIBRARIES "ggml::ggml" "ggml::ggml-base")
115+
list(APPEND GGML_CPU_INTERFACE_LINK_LIBRARIES "ggml::ggml-base")
116116
set_target_properties(ggml::${_ggml_backend}
117117
PROPERTIES
118118
INTERFACE_LINK_LIBRARIES "${GGML_CPU_INTERFACE_LINK_LIBRARIES}")
@@ -124,7 +124,7 @@ foreach(_ggml_backend ${GGML_AVAILABLE_BACKENDS})
124124
endif()
125125

126126
else()
127-
list(APPEND ${_ggml_backend_pfx}_INTERFACE_LINK_LIBRARIES "ggml::ggml" "ggml::ggml-base")
127+
list(APPEND ${_ggml_backend_pfx}_INTERFACE_LINK_LIBRARIES "ggml::ggml-base")
128128
set_target_properties(ggml::${_ggml_backend}
129129
PROPERTIES
130130
INTERFACE_LINK_LIBRARIES "${${_ggml_backend_pfx}_INTERFACE_LINK_LIBRARIES}")
@@ -139,6 +139,11 @@ foreach(_ggml_backend ${GGML_AVAILABLE_BACKENDS})
139139
list(APPEND _ggml_all_targets ggml::${_ggml_backend})
140140
endforeach()
141141

142+
list(APPEND GGML_INTERFACE_LINK_LIBRARIES ggml::ggml-base "${_ggml_all_targets}")
143+
set_target_properties(ggml::ggml
144+
PROPERTIES
145+
INTERFACE_LINK_LIBRARIES "${GGML_INTERFACE_LINK_LIBRARIES}")
146+
142147
add_library(ggml::all INTERFACE IMPORTED)
143148
set_target_properties(ggml::all
144149
PROPERTIES

0 commit comments

Comments
 (0)