Add logic to generate Config package
This commit is contained in:
parent
2cb9e7e312
commit
93212d5371
2 changed files with 48 additions and 11 deletions
|
@ -544,8 +544,6 @@ endif()
|
||||||
# libraries
|
# libraries
|
||||||
#
|
#
|
||||||
|
|
||||||
include(GNUInstallDirs)
|
|
||||||
|
|
||||||
# ggml
|
# ggml
|
||||||
|
|
||||||
add_library(ggml OBJECT
|
add_library(ggml OBJECT
|
||||||
|
@ -572,13 +570,6 @@ if (BUILD_SHARED_LIBS)
|
||||||
install(TARGETS ggml_shared LIBRARY)
|
install(TARGETS ggml_shared LIBRARY)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(GGML_PUBLIC_HEADERS "ggml.h"
|
|
||||||
"${GGML_HEADERS_CUDA}" "${GGML_HEADERS_OPENCL}"
|
|
||||||
"${GGML_HEADERS_METAL}" "${GGML_HEADERS_MPI}" "${GGML_HEADERS_EXTRA}")
|
|
||||||
|
|
||||||
set_target_properties(ggml PROPERTIES PUBLIC_HEADER "${GGML_PUBLIC_HEADERS}")
|
|
||||||
install(TARGETS ggml PUBLIC_HEADER)
|
|
||||||
|
|
||||||
# llama
|
# llama
|
||||||
|
|
||||||
add_library(llama
|
add_library(llama
|
||||||
|
@ -601,13 +592,50 @@ if (BUILD_SHARED_LIBS)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set_target_properties(llama PROPERTIES PUBLIC_HEADER llama.h)
|
|
||||||
install(TARGETS llama LIBRARY PUBLIC_HEADER)
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# install
|
# install
|
||||||
#
|
#
|
||||||
|
|
||||||
|
include(GNUInstallDirs)
|
||||||
|
include(CMakePackageConfigHelpers)
|
||||||
|
|
||||||
|
set(LLAMA_INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR}
|
||||||
|
CACHE PATH "Location of header files")
|
||||||
|
set(LLAMA_LIB_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
CACHE PATH "Location of library files")
|
||||||
|
set(LLAMA_BIN_INSTALL_DIR ${CMAKE_INSTALL_BINDIR}
|
||||||
|
CACHE PATH "Location of binary files")
|
||||||
|
set(LLAMA_INSTALL_VERSION 0.0.1) #TODO: Use patch from build-info number
|
||||||
|
|
||||||
|
configure_package_config_file(
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/scripts/LlamaConfig.cmake.in
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/LlamaConfig.cmake
|
||||||
|
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/Llama
|
||||||
|
PATH_VARS LLAMA_INCLUDE_INSTALL_DIR
|
||||||
|
LLAMA_LIB_INSTALL_DIR
|
||||||
|
LLAMA_BIN_INSTALL_DIR
|
||||||
|
LLAMA_INSTALL_VERSION)
|
||||||
|
|
||||||
|
write_basic_package_version_file(
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/LlamaConfigVersion.cmake
|
||||||
|
VERSION ${LLAMA_INSTALL_VERSION}
|
||||||
|
COMPATIBILITY SameMajorVersion)
|
||||||
|
|
||||||
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/LlamaConfig.cmake
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/LlamaConfigVersion.cmake
|
||||||
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/Llama)
|
||||||
|
|
||||||
|
set(GGML_PUBLIC_HEADERS "ggml.h"
|
||||||
|
"${GGML_HEADERS_CUDA}" "${GGML_HEADERS_OPENCL}"
|
||||||
|
"${GGML_HEADERS_METAL}" "${GGML_HEADERS_MPI}" "${GGML_HEADERS_EXTRA}")
|
||||||
|
|
||||||
|
set_target_properties(ggml PROPERTIES PUBLIC_HEADER "${GGML_PUBLIC_HEADERS}")
|
||||||
|
install(TARGETS ggml PUBLIC_HEADER)
|
||||||
|
|
||||||
|
set_target_properties(llama PROPERTIES PUBLIC_HEADER llama.h)
|
||||||
|
install(TARGETS llama LIBRARY PUBLIC_HEADER)
|
||||||
|
|
||||||
install(
|
install(
|
||||||
FILES convert.py
|
FILES convert.py
|
||||||
PERMISSIONS
|
PERMISSIONS
|
||||||
|
|
9
scripts/LlamaConfig.cmake.in
Normal file
9
scripts/LlamaConfig.cmake.in
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
set(LLAMA_VERSION @LLAMA_INSTALL_VERSION@)
|
||||||
|
|
||||||
|
@PACKAGE_INIT@
|
||||||
|
|
||||||
|
set_and_check(LLAMA_INCLUDE_DIR "@PACKAGE_LLAMA_INCLUDE_INSTALL_DIR@")
|
||||||
|
set_and_check(LLAMA_LIB_DIR "@PACKAGE_LLAMA_LIB_INSTALL_DIR@")
|
||||||
|
set_and_check(LLAMA_BIN_DIR "@PACKAGE_LLAMA_BIN_INSTALL_DIR@")
|
||||||
|
|
||||||
|
check_required_components(Llama)
|
Loading…
Add table
Add a link
Reference in a new issue