SeaWolf-AI's picture
Upload full LiteRT-LM codebase
5f923cd verified
# Copyright 2026 Google LLC.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
set(PKG_ROOT ${CMAKE_CURRENT_SOURCE_DIR})
# ==============================================================================
# Config Registry
# ==============================================================================
add_litertlm_library(runtime_conversation_model_data_processor_config_registry INTERFACE)
add_library(LiteRTLM::Runtime::Conversation::Processor::ConfigRegistry ALIAS runtime_conversation_model_data_processor_config_registry)
target_include_directories(runtime_conversation_model_data_processor_config_registry
INTERFACE
${GENERATED_SRC_DIR}
${LITERTLM_INCLUDE_PATHS}
)
# ==============================================================================
# Data Utils
# ==============================================================================
add_litertlm_library(runtime_conversation_model_data_processor_data_utils STATIC
data_utils.cc
)
add_library(LiteRTLM::Runtime::Conversation::Processor::DataUtils ALIAS runtime_conversation_model_data_processor_data_utils)
target_include_directories(runtime_conversation_model_data_processor_data_utils
PUBLIC
${GENERATED_SRC_DIR}
${LITERTLM_INCLUDE_PATHS}
)
target_link_libraries(runtime_conversation_model_data_processor_data_utils
PUBLIC
runtime_util_memory_mapped_file
LITERTLM_DEPS
)
# ==============================================================================
# Gemma3 Data Processor Config
# ==============================================================================
add_litertlm_library(runtime_conversation_model_data_processor_gemma3_data_processor_config INTERFACE)
add_library(LiteRTLM::Runtime::Conversation::Processor::Gemma3Config ALIAS runtime_conversation_model_data_processor_gemma3_data_processor_config)
target_include_directories(runtime_conversation_model_data_processor_gemma3_data_processor_config
INTERFACE
${GENERATED_SRC_DIR}
${LITERTLM_INCLUDE_PATHS}
)
add_litertlm_library(runtime_conversation_model_data_processor_function_gemma_data_processor_config INTERFACE)
add_library(LiteRTLM::Runtime::Conversation::FuncProcessor::GemmaConfig ALIAS runtime_conversation_model_data_processor_function_gemma_data_processor_config)
target_include_directories(runtime_conversation_model_data_processor_function_gemma_data_processor_config
INTERFACE
${GENERATED_SRC_DIR}
${LITERTLM_INCLUDE_PATHS}
)
# ==============================================================================
# Generic Data Processor Config
# ==============================================================================
add_litertlm_library(runtime_conversation_model_data_processor_generic_data_processor_config INTERFACE)
add_library(LiteRTLM::Runtime::Conversation::Processor::GenericConfig ALIAS runtime_conversation_model_data_processor_generic_data_processor_config)
target_include_directories(runtime_conversation_model_data_processor_generic_data_processor_config
INTERFACE
${GENERATED_SRC_DIR}
${LITERTLM_INCLUDE_PATHS}
)
# ==============================================================================
# Qwen3 Data Processor Config
# ==============================================================================
add_litertlm_library(runtime_conversation_model_data_processor_qwen3_data_processor_config INTERFACE)
add_library(LiteRTLM::Runtime::Conversation::Processor::Qwen3Config ALIAS runtime_conversation_model_data_processor_qwen3_data_processor_config)
target_include_directories(runtime_conversation_model_data_processor_qwen3_data_processor_config
INTERFACE
${GENERATED_SRC_DIR}
${LITERTLM_INCLUDE_PATHS}
)
# ==============================================================================
# Model Data Processor Interface
# ==============================================================================
add_litertlm_library(runtime_conversation_model_data_processor INTERFACE)
add_library(LiteRTLM::Runtime::Conversation::Processor::Interface ALIAS runtime_conversation_model_data_processor)
target_include_directories(runtime_conversation_model_data_processor
INTERFACE
${GENERATED_SRC_DIR}
${LITERTLM_INCLUDE_PATHS}
)
target_link_libraries(runtime_conversation_model_data_processor
INTERFACE
LiteRTLM::Runtime::Conversation::Processor::ConfigRegistry
LiteRTLM::Runtime::Components::ConstrainedDecoding::Constraint
runtime_conversation_io_types
runtime_engine_io_types
LITERTLM_DEPS
)
# ==============================================================================
# Gemma3 Data Processor
# ==============================================================================
add_litertlm_library(runtime_conversation_model_data_processor_gemma3_data_processor STATIC
gemma3_data_processor.cc
)
add_library(LiteRTLM::Runtime::Conversation::Processor::Gemma3 ALIAS runtime_conversation_model_data_processor_gemma3_data_processor)
target_include_directories(runtime_conversation_model_data_processor_gemma3_data_processor
PUBLIC
${GENERATED_SRC_DIR}
${LITERTLM_INCLUDE_PATHS}
)
target_link_libraries(runtime_conversation_model_data_processor_gemma3_data_processor
PUBLIC
runtime_conversation_io_types
runtime_engine_io_types
LiteRTLM::Runtime::Conversation::Processor::Gemma3Config
LiteRTLM::Runtime::Components::Tokenizer::Interface
LiteRTLM::Runtime::Components::ConstrainedDecoding::Constraint
LiteRTLM::Runtime::Components::ConstrainedDecoding::ConstraintProvider
LiteRTLM::Runtime::Components::Preprocessor::Audio
LiteRTLM::Runtime::Components::Preprocessor::AudioMiniAudio
LiteRTLM::Runtime::Components::Preprocessor::Image
LiteRTLM::Runtime::Components::Preprocessor::StbImage
LiteRTLM::Runtime::Components::ToolUse::ParserUtils
LiteRTLM::Runtime::Components::ToolUse::PythonFormatUtils
runtime_util_litert_status_util
runtime_util_memory_mapped_file
LiteRTLM::Runtime::Conversation::Processor::DataUtils
LiteRTLM::Runtime::Conversation::Processor::Interface
LITERTLM_DEPS
)
add_litertlm_library(runtime_conversation_model_data_processor_function_gemma_data_processor STATIC
function_gemma_data_processor.cc
)
add_library(LiteRTLM::Runtime::Conversation::FunctionDataProcessor ALIAS runtime_conversation_model_data_processor_function_gemma_data_processor)
target_include_directories(runtime_conversation_model_data_processor_function_gemma_data_processor
PUBLIC
${GENERATED_SRC_DIR}
${LITERTLM_INCLUDE_PATHS}
)
target_link_libraries(runtime_conversation_model_data_processor_function_gemma_data_processor
PUBLIC
runtime_conversation_io_types
runtime_engine_io_types
LiteRTLM::Runtime::Conversation::Processor::Gemma3Config
LiteRTLM::Runtime::Components::Tokenizer::Interface
LiteRTLM::Runtime::Components::ConstrainedDecoding::Constraint
LiteRTLM::Runtime::Components::ConstrainedDecoding::ConstraintProvider
LiteRTLM::Runtime::Components::Preprocessor::Audio
LiteRTLM::Runtime::Components::Preprocessor::AudioMiniAudio
LiteRTLM::Runtime::Components::Preprocessor::Image
LiteRTLM::Runtime::Components::Preprocessor::StbImage
LiteRTLM::Runtime::Components::ToolUse::ParserUtils
LiteRTLM::Runtime::Components::ToolUse::PythonFormatUtils
runtime_util_litert_status_util
runtime_util_memory_mapped_file
LiteRTLM::Runtime::Conversation::Processor::DataUtils
LiteRTLM::Runtime::Conversation::Processor::Interface
LITERTLM_DEPS
)
# ==============================================================================
# Generic Data Processor
# ==============================================================================
add_litertlm_library(runtime_conversation_model_data_processor_generic_data_processor STATIC
generic_data_processor.cc
)
add_library(LiteRTLM::Runtime::Conversation::Processor::Generic ALIAS runtime_conversation_model_data_processor_generic_data_processor)
target_include_directories(runtime_conversation_model_data_processor_generic_data_processor
PUBLIC
${GENERATED_SRC_DIR}
${LITERTLM_INCLUDE_PATHS}
)
target_link_libraries(runtime_conversation_model_data_processor_generic_data_processor
PUBLIC
LiteRTLM::Runtime::Conversation::Processor::ConfigRegistry
LiteRTLM::Runtime::Conversation::Processor::GenericConfig
runtime_conversation_io_types
runtime_engine_io_types
runtime_util_litert_status_util
LiteRTLM::Runtime::Conversation::Processor::Interface
LITERTLM_DEPS
)
# ==============================================================================
# Qwen3 Data Processor
# ==============================================================================
add_litertlm_library(runtime_conversation_model_data_processor_qwen3_data_processor STATIC
qwen3_data_processor.cc
)
add_library(LiteRTLM::Runtime::Conversation::Processor::Qwen3 ALIAS runtime_conversation_model_data_processor_qwen3_data_processor)
target_include_directories(runtime_conversation_model_data_processor_qwen3_data_processor
PUBLIC
${GENERATED_SRC_DIR}
${LITERTLM_INCLUDE_PATHS}
)
target_link_libraries(runtime_conversation_model_data_processor_qwen3_data_processor
PUBLIC
LiteRTLM::Runtime::Conversation::Processor::ConfigRegistry
LiteRTLM::Runtime::Conversation::Processor::Interface
LiteRTLM::Runtime::Conversation::Processor::Qwen3Config
LiteRTLM::Runtime::Components::ToolUse::ParserUtils
runtime_conversation_io_types
runtime_engine_io_types
runtime_util_litert_status_util
LITERTLM_DEPS
)
# ==============================================================================
# Model Data Processor Factory
# ==============================================================================
add_litertlm_library(runtime_conversation_model_data_processor_factory STATIC
model_data_processor_factory.cc
)
add_library(LiteRTLM::Runtime::Conversation::Processor::Factory ALIAS runtime_conversation_model_data_processor_factory)
target_include_directories(runtime_conversation_model_data_processor_factory
PUBLIC
${GENERATED_SRC_DIR}
${LITERTLM_INCLUDE_PATHS}
)
target_link_libraries(runtime_conversation_model_data_processor_factory
PUBLIC
LiteRTLM::Runtime::Conversation::Processor::ConfigRegistry
LiteRTLM::Runtime::Conversation::Processor::Gemma3
LiteRTLM::Runtime::Conversation::Processor::Gemma3Config
LiteRTLM::Runtime::Conversation::Processor::Generic
LiteRTLM::Runtime::Conversation::Processor::GenericConfig
LiteRTLM::Runtime::Conversation::Processor::Interface
LiteRTLM::Runtime::Conversation::Processor::Qwen3
LiteRTLM::Runtime::Conversation::Processor::Qwen3Config
LiteRTLM::Runtime::Components::Tokenizer::Interface
LiteRTLM::Runtime::Conversation::IoTypes
runtime_util_litert_status_util
LITERTLM_DEPS
)
# ==============================================================================
# Folder Facade
# ==============================================================================
add_library(runtime_conversation_model_data_processor_libs INTERFACE)
add_library(LiteRTLM::Runtime::Conversation::Processor ALIAS runtime_conversation_model_data_processor_libs)
target_link_libraries(runtime_conversation_model_data_processor_libs INTERFACE
LiteRTLM::Runtime::Conversation::Processor::ConfigRegistry
LiteRTLM::Runtime::Conversation::Processor::DataUtils
LiteRTLM::Runtime::Conversation::Processor::Gemma3
LiteRTLM::Runtime::Conversation::Processor::Gemma3Config
LiteRTLM::Runtime::Conversation::FunctionDataProcessor
LiteRTLM::Runtime::Conversation::Processor::Generic
LiteRTLM::Runtime::Conversation::Processor::GenericConfig
LiteRTLM::Runtime::Conversation::Processor::Interface
LiteRTLM::Runtime::Conversation::Processor::Factory
LiteRTLM::Runtime::Conversation::Processor::Qwen3
LiteRTLM::Runtime::Conversation::Processor::Qwen3Config
)