1llama_add_compile_flags()
2
3#
4# libraries
5#
6
7# llama
8
9add_library(llama
10 ../include/llama.h
11 llama.cpp
12 llama-adapter.cpp
13 llama-arch.cpp
14 llama-batch.cpp
15 llama-chat.cpp
16 llama-context.cpp
17 llama-cparams.cpp
18 llama-grammar.cpp
19 llama-graph.cpp
20 llama-hparams.cpp
21 llama-impl.cpp
22 llama-io.cpp
23 llama-kv-cache.cpp
24 llama-kv-cache-iswa.cpp
25 llama-memory.cpp
26 llama-memory-hybrid.cpp
27 llama-memory-hybrid-iswa.cpp
28 llama-memory-recurrent.cpp
29 llama-mmap.cpp
30 llama-model-loader.cpp
31 llama-model-saver.cpp
32 llama-model.cpp
33 llama-quant.cpp
34 llama-sampler.cpp
35 llama-vocab.cpp
36 unicode-data.cpp
37 unicode.cpp
38 unicode.h
39 models/afmoe.cpp
40 models/apertus.cpp
41 models/arcee.cpp
42 models/arctic.cpp
43 models/arwkv7.cpp
44 models/baichuan.cpp
45 models/bailingmoe.cpp
46 models/bailingmoe2.cpp
47 models/bert.cpp
48 models/bitnet.cpp
49 models/bloom.cpp
50 models/chameleon.cpp
51 models/chatglm.cpp
52 models/codeshell.cpp
53 models/cogvlm.cpp
54 models/cohere2-iswa.cpp
55 models/command-r.cpp
56 models/dbrx.cpp
57 models/deci.cpp
58 models/deepseek.cpp
59 models/deepseek2.cpp
60 models/dots1.cpp
61 models/dream.cpp
62 models/ernie4-5-moe.cpp
63 models/ernie4-5.cpp
64 models/exaone.cpp
65 models/exaone4.cpp
66 models/exaone-moe.cpp
67 models/falcon-h1.cpp
68 models/falcon.cpp
69 models/gemma-embedding.cpp
70 models/gemma.cpp
71 models/gemma2-iswa.cpp
72 models/gemma3.cpp
73 models/gemma3n-iswa.cpp
74 models/glm4-moe.cpp
75 models/glm4.cpp
76 models/gpt2.cpp
77 models/gptneox.cpp
78 models/granite-hybrid.cpp
79 models/granite.cpp
80 models/grok.cpp
81 models/grovemoe.cpp
82 models/hunyuan-dense.cpp
83 models/hunyuan-moe.cpp
84 models/internlm2.cpp
85 models/jais.cpp
86 models/jamba.cpp
87 models/kimi-linear.cpp
88 models/lfm2.cpp
89 models/llada-moe.cpp
90 models/llada.cpp
91 models/llama-iswa.cpp
92 models/llama.cpp
93 models/maincoder.cpp
94 models/mamba.cpp
95 models/mimo2-iswa.cpp
96 models/minicpm3.cpp
97 models/minimax-m2.cpp
98 models/modern-bert.cpp
99 models/mpt.cpp
100 models/nemotron-h.cpp
101 models/nemotron.cpp
102 models/neo-bert.cpp
103 models/olmo.cpp
104 models/olmo2.cpp
105 models/olmoe.cpp
106 models/openai-moe-iswa.cpp
107 models/openelm.cpp
108 models/orion.cpp
109 models/pangu-embedded.cpp
110 models/phi2.cpp
111 models/phi3.cpp
112 models/plamo.cpp
113 models/plamo2.cpp
114 models/plamo3.cpp
115 models/plm.cpp
116 models/qwen.cpp
117 models/qwen2.cpp
118 models/qwen2moe.cpp
119 models/qwen2vl.cpp
120 models/qwen3.cpp
121 models/qwen3vl.cpp
122 models/qwen3vl-moe.cpp
123 models/qwen3moe.cpp
124 models/qwen3next.cpp
125 models/qwen35.cpp
126 models/qwen35moe.cpp
127 models/refact.cpp
128 models/rnd1.cpp
129 models/rwkv6-base.cpp
130 models/rwkv6.cpp
131 models/rwkv6qwen2.cpp
132 models/rwkv7-base.cpp
133 models/rwkv7.cpp
134 models/seed-oss.cpp
135 models/smallthinker.cpp
136 models/smollm3.cpp
137 models/stablelm.cpp
138 models/starcoder.cpp
139 models/starcoder2.cpp
140 models/step35-iswa.cpp
141 models/t5-dec.cpp
142 models/t5-enc.cpp
143 models/wavtokenizer-dec.cpp
144 models/xverse.cpp
145 models/mistral3.cpp
146 models/graph-context-mamba.cpp
147 )
148
149set_target_properties(llama PROPERTIES
150 VERSION ${LLAMA_INSTALL_VERSION}
151 SOVERSION 0
152 MACHO_CURRENT_VERSION 0 # keep macOS linker from seeing oversized version number
153)
154
155target_include_directories(llama PRIVATE .)
156target_include_directories(llama PUBLIC ../include)
157target_compile_features (llama PRIVATE cxx_std_17) # don't bump
158
159target_link_libraries(llama PUBLIC ggml)
160
161if (BUILD_SHARED_LIBS)
162 set_target_properties(llama PROPERTIES POSITION_INDEPENDENT_CODE ON)
163 target_compile_definitions(llama PRIVATE LLAMA_BUILD)
164 target_compile_definitions(llama PUBLIC LLAMA_SHARED)
165endif()