# Bake common functionality in with target. Because applications
# using the relocatable Llama package should be outside of the
# source tree, main-cmake-pkg pretends the dependencies are built-in.
-
set(_common_path "${CMAKE_CURRENT_LIST_DIR}/../../common")
-add_library(common OBJECT
- ${_common_path}/common.h
- ${_common_path}/common.cpp
- ${_common_path}/console.h
- ${_common_path}/console.cpp
- ${_common_path}/grammar-parser.h
- ${_common_path}/grammar-parser.cpp
- ${_common_path}/sampling.h
- ${_common_path}/sampling.cpp
- )
-
-# WARNING: because build-info.h is auto-generated, it will only
-# be available after the user has built the llama.cpp sources.
-#
-configure_file(${_common_path}/../build-info.h
- ${CMAKE_CURRENT_BINARY_DIR}/build-info.h
- COPYONLY)
-
-target_include_directories(common PUBLIC ${LLAMA_INCLUDE_DIR}
- ${CMAKE_CURRENT_BINARY_DIR})
+add_library(common OBJECT)
+file(GLOB _common_files
+ "${_common_path}/*.h"
+ "${_common_path}/*.cpp"
+)
+target_sources(common PRIVATE ${_common_files})
# If the common project was part of "main-cmake-pkg" the transient
# defines would automatically be attached. Because the common func-