char-fork/llama.cpp

git clone https://git.t4t.associates/char-fork/llama.cpp

Daniel Beveniuscmake : remove precompiled headers (#28892)f3a184b15

char/aliceai-t5-moe
1.9 KiB77 linesraw
1llama_add_compile_flags()
2
3#
4# libraries
5#
6
7# llama
8
9file(GLOB LLAMA_MODELS_SOURCES "models/*.cpp")
10
11set(LLAMA_CORE_SOURCES
12    llama.cpp
13    llama-adapter.cpp
14    llama-arch.cpp
15    llama-batch.cpp
16    llama-chat.cpp
17    llama-context.cpp
18    llama-cparams.cpp
19    llama-grammar.cpp
20    llama-graph.cpp
21    llama-hparams.cpp
22    llama-impl.cpp
23    llama-io.cpp
24    llama-kv-cache.cpp
25    llama-kv-cache-iswa.cpp
26    llama-kv-cache-dsa.cpp
27    llama-kv-cache-dsa-iswa.cpp
28    llama-kv-cache-msa.cpp
29    llama-kv-cache-dsv4.cpp
30    llama-memory.cpp
31    llama-memory-hybrid.cpp
32    llama-memory-hybrid-iswa.cpp
33    llama-memory-hybrid-idx.cpp
34    llama-memory-recurrent.cpp
35    llama-mmap.cpp
36    llama-model-loader.cpp
37    llama-model-saver.cpp
38    llama-model.cpp
39    llama-quant.cpp
40    llama-sampler.cpp
41    llama-vocab.cpp
42    unicode-data.cpp
43    unicode.cpp
44)
45
46add_library(llama
47            ../include/llama.h
48            ${LLAMA_CORE_SOURCES}
49            unicode.h
50            ${LLAMA_MODELS_SOURCES}
51            )
52
53set_target_properties(llama PROPERTIES
54    VERSION ${LLAMA_VERSION_BASE}
55    SOVERSION ${LLAMA_VERSION_MAJOR}
56    MACHO_CURRENT_VERSION 0 # keep macOS linker from seeing oversized version number
57    UNITY_BUILD ON
58    UNITY_BUILD_BATCH_SIZE 16
59)
60
61# exclude non-model sources from unity build
62set_source_files_properties(${LLAMA_CORE_SOURCES} ../include/llama.h unicode.h
63    PROPERTIES SKIP_UNITY_BUILD_INCLUSION ON)
64
65configure_file(llama-version.h.in ${CMAKE_CURRENT_BINARY_DIR}/llama-version.h @ONLY)
66
67target_include_directories(llama PRIVATE . ${CMAKE_CURRENT_BINARY_DIR})
68target_include_directories(llama PUBLIC ../include)
69target_compile_features   (llama PRIVATE cxx_std_17) # don't bump
70
71target_link_libraries(llama PUBLIC ggml)
72
73if (BUILD_SHARED_LIBS)
74    set_target_properties(llama PROPERTIES POSITION_INDEPENDENT_CODE ON)
75    target_compile_definitions(llama PRIVATE LLAMA_BUILD)
76    target_compile_definitions(llama PUBLIC  LLAMA_SHARED)
77endif()