Christian Kastner commited on
Commit
f84562e
·
1 Parent(s): 1d24833

ggml: Skip backend library linking code when GGML_BACKEND_DL=ON (llama/15094)

Browse files
Files changed (1) hide show
  1. ggml/cmake/ggml-config.cmake.in +42 -40
ggml/cmake/ggml-config.cmake.in CHANGED
@@ -106,7 +106,7 @@ if(NOT TARGET ggml::ggml)
106
 
107
  find_library(GGML_LIBRARY ggml
108
  REQUIRED
109
- HINTS ${GGML_LIB_DIR} ${GGML_BACKEND_DIR}
110
  NO_CMAKE_FIND_ROOT_PATH)
111
 
112
  add_library(ggml::ggml UNKNOWN IMPORTED)
@@ -125,54 +125,56 @@ if(NOT TARGET ggml::ggml)
125
  IMPORTED_LOCATION "${GGML_BASE_LIBRARY}")
126
 
127
  set(_ggml_all_targets "")
128
- foreach(_ggml_backend ${GGML_AVAILABLE_BACKENDS})
129
- string(REPLACE "-" "_" _ggml_backend_pfx "${_ggml_backend}")
130
- string(TOUPPER "${_ggml_backend_pfx}" _ggml_backend_pfx)
131
-
132
- find_library(${_ggml_backend_pfx}_LIBRARY ${_ggml_backend}
133
- REQUIRED
134
- HINTS ${GGML_LIB_DIR}
135
- NO_CMAKE_FIND_ROOT_PATH)
136
-
137
- message(STATUS "Found ${${_ggml_backend_pfx}_LIBRARY}")
138
-
139
- add_library(ggml::${_ggml_backend} UNKNOWN IMPORTED)
140
- set_target_properties(ggml::${_ggml_backend}
141
- PROPERTIES
142
- INTERFACE_INCLUDE_DIRECTORIES "${GGML_INCLUDE_DIR}"
143
- IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
144
- IMPORTED_LOCATION "${${_ggml_backend_pfx}_LIBRARY}"
145
- INTERFACE_COMPILE_FEATURES c_std_90
146
- POSITION_INDEPENDENT_CODE ON)
147
-
148
- string(REGEX MATCH "^ggml-cpu" is_cpu_variant "${_ggml_backend}")
149
- if(is_cpu_variant)
150
- list(APPEND GGML_CPU_INTERFACE_LINK_LIBRARIES "ggml::ggml-base")
151
- set_target_properties(ggml::${_ggml_backend}
152
- PROPERTIES
153
- INTERFACE_LINK_LIBRARIES "${GGML_CPU_INTERFACE_LINK_LIBRARIES}")
154
 
155
- if(GGML_CPU_INTERFACE_LINK_OPTIONS)
156
- set_target_properties(ggml::${_ggml_backend}
157
- PROPERTIES
158
- INTERFACE_LINK_OPTIONS "${GGML_CPU_INTERFACE_LINK_OPTIONS}")
159
- endif()
 
160
 
161
- else()
162
- list(APPEND ${_ggml_backend_pfx}_INTERFACE_LINK_LIBRARIES "ggml::ggml-base")
163
  set_target_properties(ggml::${_ggml_backend}
164
  PROPERTIES
165
- INTERFACE_LINK_LIBRARIES "${${_ggml_backend_pfx}_INTERFACE_LINK_LIBRARIES}")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
166
 
167
- if(${_ggml_backend_pfx}_INTERFACE_LINK_OPTIONS)
 
168
  set_target_properties(ggml::${_ggml_backend}
169
  PROPERTIES
170
- INTERFACE_LINK_OPTIONS "${${_ggml_backend_pfx}_INTERFACE_LINK_OPTIONS}")
 
 
 
 
 
 
171
  endif()
172
- endif()
173
 
174
- list(APPEND _ggml_all_targets ggml::${_ggml_backend})
175
- endforeach()
 
176
 
177
  list(APPEND GGML_INTERFACE_LINK_LIBRARIES ggml::ggml-base "${_ggml_all_targets}")
178
  set_target_properties(ggml::ggml
 
106
 
107
  find_library(GGML_LIBRARY ggml
108
  REQUIRED
109
+ HINTS ${GGML_LIB_DIR}
110
  NO_CMAKE_FIND_ROOT_PATH)
111
 
112
  add_library(ggml::ggml UNKNOWN IMPORTED)
 
125
  IMPORTED_LOCATION "${GGML_BASE_LIBRARY}")
126
 
127
  set(_ggml_all_targets "")
128
+ if (NOT GGML_BACKEND_DL)
129
+ foreach(_ggml_backend ${GGML_AVAILABLE_BACKENDS})
130
+ string(REPLACE "-" "_" _ggml_backend_pfx "${_ggml_backend}")
131
+ string(TOUPPER "${_ggml_backend_pfx}" _ggml_backend_pfx)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
132
 
133
+ find_library(${_ggml_backend_pfx}_LIBRARY ${_ggml_backend}
134
+ REQUIRED
135
+ HINTS ${GGML_LIB_DIR}
136
+ NO_CMAKE_FIND_ROOT_PATH)
137
+
138
+ message(STATUS "Found ${${_ggml_backend_pfx}_LIBRARY}")
139
 
140
+ add_library(ggml::${_ggml_backend} UNKNOWN IMPORTED)
 
141
  set_target_properties(ggml::${_ggml_backend}
142
  PROPERTIES
143
+ INTERFACE_INCLUDE_DIRECTORIES "${GGML_INCLUDE_DIR}"
144
+ IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
145
+ IMPORTED_LOCATION "${${_ggml_backend_pfx}_LIBRARY}"
146
+ INTERFACE_COMPILE_FEATURES c_std_90
147
+ POSITION_INDEPENDENT_CODE ON)
148
+
149
+ string(REGEX MATCH "^ggml-cpu" is_cpu_variant "${_ggml_backend}")
150
+ if(is_cpu_variant)
151
+ list(APPEND GGML_CPU_INTERFACE_LINK_LIBRARIES "ggml::ggml-base")
152
+ set_target_properties(ggml::${_ggml_backend}
153
+ PROPERTIES
154
+ INTERFACE_LINK_LIBRARIES "${GGML_CPU_INTERFACE_LINK_LIBRARIES}")
155
+
156
+ if(GGML_CPU_INTERFACE_LINK_OPTIONS)
157
+ set_target_properties(ggml::${_ggml_backend}
158
+ PROPERTIES
159
+ INTERFACE_LINK_OPTIONS "${GGML_CPU_INTERFACE_LINK_OPTIONS}")
160
+ endif()
161
 
162
+ else()
163
+ list(APPEND ${_ggml_backend_pfx}_INTERFACE_LINK_LIBRARIES "ggml::ggml-base")
164
  set_target_properties(ggml::${_ggml_backend}
165
  PROPERTIES
166
+ INTERFACE_LINK_LIBRARIES "${${_ggml_backend_pfx}_INTERFACE_LINK_LIBRARIES}")
167
+
168
+ if(${_ggml_backend_pfx}_INTERFACE_LINK_OPTIONS)
169
+ set_target_properties(ggml::${_ggml_backend}
170
+ PROPERTIES
171
+ INTERFACE_LINK_OPTIONS "${${_ggml_backend_pfx}_INTERFACE_LINK_OPTIONS}")
172
+ endif()
173
  endif()
 
174
 
175
+ list(APPEND _ggml_all_targets ggml::${_ggml_backend})
176
+ endforeach()
177
+ endif()
178
 
179
  list(APPEND GGML_INTERFACE_LINK_LIBRARIES ggml::ggml-base "${_ggml_all_targets}")
180
  set_target_properties(ggml::ggml