mirror of
https://github.com/ggml-org/llama.cpp.git
synced 2026-10-15 01:10:36 +02:00
cmake : allow repeated find_package calls for llama (#29228)
This commit is contained in:
@@ -17,14 +17,16 @@ find_library(llama_LIBRARY llama
|
|||||||
NO_CMAKE_FIND_ROOT_PATH
|
NO_CMAKE_FIND_ROOT_PATH
|
||||||
)
|
)
|
||||||
|
|
||||||
add_library(llama UNKNOWN IMPORTED)
|
if(NOT TARGET llama)
|
||||||
set_target_properties(llama
|
add_library(llama UNKNOWN IMPORTED)
|
||||||
PROPERTIES
|
set_target_properties(llama
|
||||||
INTERFACE_INCLUDE_DIRECTORIES "${LLAMA_INCLUDE_DIR}"
|
PROPERTIES
|
||||||
INTERFACE_LINK_LIBRARIES "ggml::ggml;ggml::ggml-base;"
|
INTERFACE_INCLUDE_DIRECTORIES "${LLAMA_INCLUDE_DIR}"
|
||||||
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
|
INTERFACE_LINK_LIBRARIES "ggml::ggml;ggml::ggml-base;"
|
||||||
IMPORTED_LOCATION "${llama_LIBRARY}"
|
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
|
||||||
INTERFACE_COMPILE_FEATURES c_std_90
|
IMPORTED_LOCATION "${llama_LIBRARY}"
|
||||||
POSITION_INDEPENDENT_CODE ON)
|
INTERFACE_COMPILE_FEATURES c_std_90
|
||||||
|
POSITION_INDEPENDENT_CODE ON)
|
||||||
|
endif()
|
||||||
|
|
||||||
check_required_components(Llama)
|
check_required_components(Llama)
|
||||||
|
|||||||
@@ -5,6 +5,9 @@ set(TARGET llama-simple-cmake-pkg)
|
|||||||
|
|
||||||
find_package(Llama REQUIRED)
|
find_package(Llama REQUIRED)
|
||||||
|
|
||||||
|
# Check that repeated package discovery does not redefine imported targets.
|
||||||
|
find_package(Llama REQUIRED)
|
||||||
|
|
||||||
add_executable(${TARGET} ${CMAKE_CURRENT_LIST_DIR}/../simple/simple.cpp)
|
add_executable(${TARGET} ${CMAKE_CURRENT_LIST_DIR}/../simple/simple.cpp)
|
||||||
install(TARGETS ${TARGET} RUNTIME)
|
install(TARGETS ${TARGET} RUNTIME)
|
||||||
target_link_libraries(${TARGET} PRIVATE llama ggml::all ${CMAKE_THREAD_LIBS_INIT})
|
target_link_libraries(${TARGET} PRIVATE llama ggml::all ${CMAKE_THREAD_LIBS_INIT})
|
||||||
|
|||||||
Reference in New Issue
Block a user