mirror of
https://github.com/LostRuins/koboldcpp.git
synced 2026-09-18 08:44:57 +02:00
f3a184b153
This commit removes the precompiled headers that I added in Commit
3bcfeb700 ("cmake : add PCH and unity build to improve build times
(#28091)").
The motivation for this is that this looked good when developing this
but has caused multiple issues that I had taken into consideration and
we have decided to remove it and only keep the unity builds from the
above commit.
Refs: https://github.com/ggml-org/llama.cpp/pull/28882#issuecomment-5662272126
78 lines
1.9 KiB
CMake
78 lines
1.9 KiB
CMake
llama_add_compile_flags()
|
|
|
|
#
|
|
# libraries
|
|
#
|
|
|
|
# llama
|
|
|
|
file(GLOB LLAMA_MODELS_SOURCES "models/*.cpp")
|
|
|
|
set(LLAMA_CORE_SOURCES
|
|
llama.cpp
|
|
llama-adapter.cpp
|
|
llama-arch.cpp
|
|
llama-batch.cpp
|
|
llama-chat.cpp
|
|
llama-context.cpp
|
|
llama-cparams.cpp
|
|
llama-grammar.cpp
|
|
llama-graph.cpp
|
|
llama-hparams.cpp
|
|
llama-impl.cpp
|
|
llama-io.cpp
|
|
llama-kv-cache.cpp
|
|
llama-kv-cache-iswa.cpp
|
|
llama-kv-cache-dsa.cpp
|
|
llama-kv-cache-dsa-iswa.cpp
|
|
llama-kv-cache-msa.cpp
|
|
llama-kv-cache-dsv4.cpp
|
|
llama-memory.cpp
|
|
llama-memory-hybrid.cpp
|
|
llama-memory-hybrid-iswa.cpp
|
|
llama-memory-hybrid-idx.cpp
|
|
llama-memory-recurrent.cpp
|
|
llama-mmap.cpp
|
|
llama-model-loader.cpp
|
|
llama-model-saver.cpp
|
|
llama-model.cpp
|
|
llama-quant.cpp
|
|
llama-sampler.cpp
|
|
llama-vocab.cpp
|
|
unicode-data.cpp
|
|
unicode.cpp
|
|
)
|
|
|
|
add_library(llama
|
|
../include/llama.h
|
|
${LLAMA_CORE_SOURCES}
|
|
unicode.h
|
|
${LLAMA_MODELS_SOURCES}
|
|
)
|
|
|
|
set_target_properties(llama PROPERTIES
|
|
VERSION ${LLAMA_VERSION_BASE}
|
|
SOVERSION ${LLAMA_VERSION_MAJOR}
|
|
MACHO_CURRENT_VERSION 0 # keep macOS linker from seeing oversized version number
|
|
UNITY_BUILD ON
|
|
UNITY_BUILD_BATCH_SIZE 16
|
|
)
|
|
|
|
# exclude non-model sources from unity build
|
|
set_source_files_properties(${LLAMA_CORE_SOURCES} ../include/llama.h unicode.h
|
|
PROPERTIES SKIP_UNITY_BUILD_INCLUSION ON)
|
|
|
|
configure_file(llama-version.h.in ${CMAKE_CURRENT_BINARY_DIR}/llama-version.h @ONLY)
|
|
|
|
target_include_directories(llama PRIVATE . ${CMAKE_CURRENT_BINARY_DIR})
|
|
target_include_directories(llama PUBLIC ../include)
|
|
target_compile_features (llama PRIVATE cxx_std_17) # don't bump
|
|
|
|
target_link_libraries(llama PUBLIC ggml)
|
|
|
|
if (BUILD_SHARED_LIBS)
|
|
set_target_properties(llama PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
|
target_compile_definitions(llama PRIVATE LLAMA_BUILD)
|
|
target_compile_definitions(llama PUBLIC LLAMA_SHARED)
|
|
endif()
|