/ scripts / LlamaConfig.cmake.in
LlamaConfig.cmake.in
 1  set(LLAMA_VERSION @LLAMA_INSTALL_VERSION@)
 2  set(LLAMA_BUILD_COMMIT @LLAMA_BUILD_COMMIT@)
 3  set(LLAMA_BUILD_NUMBER @LLAMA_BUILD_NUMBER@)
 4  set(LLAMA_SHARED_LIB @BUILD_SHARED_LIBS@)
 5  set(LLAMA_BLAS @LLAMA_BLAS@)
 6  set(LLAMA_CUDA @LLAMA_CUDA@)
 7  set(LLAMA_METAL @LLAMA_METAL@)
 8  set(LLAMA_HIPBLAS @LLAMA_HIPBLAS@)
 9  set(LLAMA_ACCELERATE @LLAMA_ACCELERATE@)
10  
11  @PACKAGE_INIT@
12  
13  set_and_check(LLAMA_INCLUDE_DIR "@PACKAGE_LLAMA_INCLUDE_INSTALL_DIR@")
14  set_and_check(LLAMA_LIB_DIR "@PACKAGE_LLAMA_LIB_INSTALL_DIR@")
15  set_and_check(LLAMA_BIN_DIR "@PACKAGE_LLAMA_BIN_INSTALL_DIR@")
16  
17  # Ensure transient dependencies satisfied
18  
19  find_package(Threads REQUIRED)
20  if (APPLE AND LLAMA_ACCELERATE)
21      find_library(ACCELERATE_FRAMEWORK Accelerate REQUIRED)
22  endif()
23  
24  if (LLAMA_BLAS)
25      find_package(BLAS REQUIRED)
26  endif()
27  
28  if (LLAMA_CUDA)
29      find_package(CUDAToolkit REQUIRED)
30  endif()
31  
32  if (LLAMA_METAL)
33      find_library(FOUNDATION_LIBRARY Foundation REQUIRED)
34      find_library(METAL_FRAMEWORK Metal REQUIRED)
35      find_library(METALKIT_FRAMEWORK MetalKit REQUIRED)
36  endif()
37  
38  if (LLAMA_HIPBLAS)
39      find_package(hip REQUIRED)
40      find_package(hipblas REQUIRED)
41      find_package(rocblas REQUIRED)
42  endif()
43  
44  find_library(llama_LIBRARY llama
45      REQUIRED
46      HINTS ${LLAMA_LIB_DIR})
47  
48  set(_llama_link_deps "Threads::Threads" "@LLAMA_EXTRA_LIBS@")
49  set(_llama_transient_defines "@LLAMA_TRANSIENT_DEFINES@")
50  add_library(llama UNKNOWN IMPORTED)
51  set_target_properties(llama
52      PROPERTIES
53          INTERFACE_INCLUDE_DIRECTORIES "${LLAMA_INCLUDE_DIR}"
54          INTERFACE_LINK_LIBRARIES "${_llama_link_deps}"
55          INTERFACE_COMPILE_DEFINITIONS "${_llama_transient_defines}"
56          IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
57          IMPORTED_LOCATION "${llama_LIBRARY}"
58          INTERFACE_COMPILE_FEATURES cxx_std_11
59          POSITION_INDEPENDENT_CODE ON )
60  
61  check_required_components(Llama)