* chat : split specialized parsers into common/parsers Move the 14 dedicated template parsers out of chat.cpp into one file each under common/parsers, mirroring the src/models split. chat.cpp keeps the template detection in common_chat_try_specialized_template() and drops from 3915 to 1513 lines. common/parsers/parsers.h holds the shared helpers and one declaration per parser. foreach_function/foreach_parameter become inline there since nothing in chat.cpp uses them any more; common_chat_template_direct_apply_impl and common_chat_template_generation_prompt_impl lose static and carry their default arguments in the header. Parser-specific helpers move with their parser: is_lfm2_template, deepseek_v4_sort_tool_results and the gemma4 turn builder. No functional change. Assisted-by: Claude Opus 5 * chat : enumerate parser sources instead of globbing file(GLOB) does not re-run CMake when a source file is added or removed, so an incremental build silently keeps building the old set. List the parsers in common/parsers/sources.cmake and include it from common/CMakeLists.txt. Assisted-by: Claude Opus 5 * split helpers, add newlines
21 lines
880 B
CMake
21 lines
880 B
CMake
# Specialized chat template parsers, listed explicitly so that adding or removing one re-runs CMake instead of leaving an incremental build stale.
|
|
|
|
set(LLAMA_CHAT_PARSERS_SOURCES
|
|
${CMAKE_CURRENT_LIST_DIR}/parsers.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/parsers.h
|
|
${CMAKE_CURRENT_LIST_DIR}/cohere2moe.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/deepseek.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/functionary-v3-2.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/gemma4.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/gigachat-v3.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/gpt-oss.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/kimi-k2.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/kimi-k3.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/lfm2.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/minicpm5.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/minimax-m3.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/ministral3.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/muse-glimmer.cpp
|
|
${CMAKE_CURRENT_LIST_DIR}/qwen3-coder.cpp
|
|
)
|