Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 14 additions & 8 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,20 @@
cmake_minimum_required(VERSION 3.25 FATAL_ERROR)
project(LiteRT-LM-Orchestrator LANGUAGES NONE)

if(NOT DEFINED LITERTLM_HOST_PROTOC)
set(LITERTLM_HOST_PROTOC "${CMAKE_CURRENT_BINARY_DIR}/prebuild/build/external/protobuf/install/bin/protoc")
set(LITERTLM_HOST_PROTOC_BIN_DIR "${CMAKE_CURRENT_BINARY_DIR}/prebuild/build/external/protobuf/install/bin")
endif()

if(NOT DEFINED LITERTLM_HOST_FLATC)
set(LITERTLM_HOST_FLATC "${CMAKE_CURRENT_BINARY_DIR}/prebuild/build/external/flatbuffers/install/bin/flatc")
set(LITERTLM_HOST_FLATC_BIN_DIR "${CMAKE_CURRENT_BINARY_DIR}/prebuild/build/external/flatbuffers/install/bin")
# Host tool paths are only relevant when cross-compiling — the prebuild phase
# below runs only if LITERTLM_TOOLCHAIN_ARGS is non-empty. For a native build,
# leaving LITERTLM_HOST_PROTOC / LITERTLM_HOST_FLATC undefined lets the inner
# project build its own protoc/flatc via ExternalProject.
if(LITERTLM_TOOLCHAIN_ARGS)
if(NOT DEFINED LITERTLM_HOST_PROTOC)
set(LITERTLM_HOST_PROTOC "${CMAKE_CURRENT_BINARY_DIR}/prebuild/build/external/protobuf/install/bin/protoc")
set(LITERTLM_HOST_PROTOC_BIN_DIR "${CMAKE_CURRENT_BINARY_DIR}/prebuild/build/external/protobuf/install/bin")
endif()

if(NOT DEFINED LITERTLM_HOST_FLATC)
set(LITERTLM_HOST_FLATC "${CMAKE_CURRENT_BINARY_DIR}/prebuild/build/external/flatbuffers/install/bin/flatc")
set(LITERTLM_HOST_FLATC_BIN_DIR "${CMAKE_CURRENT_BINARY_DIR}/prebuild/build/external/flatbuffers/install/bin")
endif()
endif()

include(ExternalProject)
Expand Down
14 changes: 14 additions & 0 deletions cmake/packages/absl/absl.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,20 @@ set(ABSL_SRC_DIR ${ABSL_EXT_PREFIX}/src/absl_external CACHE INTERNAL "")
set(ABSL_BUILD_DIR ${ABSL_EXT_PREFIX}/src/absl_external-build CACHE INTERNAL "")
set(ABSL_CONFIG_CMAKE_FILE "${ABSL_INSTALL_PREFIX}/lib/cmake/absl/abslConfig.cmake")

set(absl_DIR "${ABSL_INSTALL_PREFIX}/lib/cmake/absl" CACHE PATH "Path to absl config")
set(ABSL_DIR "${ABSL_INSTALL_PREFIX}/lib/cmake/absl" CACHE PATH "Path to absl config")
set(absl_ROOT "${ABSL_INSTALL_PREFIX}" CACHE PATH "absl root dir")
set(ABSL_ROOT "${ABSL_INSTALL_PREFIX}" CACHE PATH "absl root dir")

set(ABSL_INCLUDE_DIR "${ABSL_INSTALL_PREFIX}/include" CACHE PATH "absl include dir")
set(ABSL_INCLUDE_DIRS "${ABSL_INSTALL_PREFIX}/include" CACHE PATH "absl include dirs")
set(absl_INCLUDE_DIR "${ABSL_INSTALL_PREFIX}/include" CACHE PATH "absl include dir")
set(absl_INCLUDE_DIRS "${ABSL_INSTALL_PREFIX}/include" CACHE PATH "absl include dirs")
set(ABSL_LIBRARY_DIR "${ABSL_INSTALL_PREFIX}/lib" CACHE PATH "absl lib dir")
set(ABSL_LIB_DIR "${ABSL_INSTALL_PREFIX}/lib" CACHE PATH "absl lib dir")
set(absl_LIBRARY_DIR "${ABSL_INSTALL_PREFIX}/lib" CACHE PATH "absl lib dir")


setup_external_install_structure("${ABSL_INSTALL_PREFIX}")

if(NOT EXISTS "${ABSL_CONFIG_CMAKE_FILE}")
Expand Down
4 changes: 2 additions & 2 deletions cmake/packages/absl/absl_aggregate.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,8 @@ macro(generate_absl_aggregate)
endif()
endforeach()

set(absl_FOUND TRUE CACHE BOOL "" FORCE)
set(Abseil_FOUND TRUE CACHE BOOL "" FORCE)
set(absl_FOUND TRUE CACHE BOOL "${ABSL_CONFIG_CMAKE_FILE}" FORCE)
set(Abseil_FOUND TRUE CACHE BOOL "${ABSL_CONFIG_CMAKE_FILE}" FORCE)
set(absl_DIR "Abseil merged archive" CACHE PATH "" FORCE)

get_target_property(_ABSL_PAYLOAD LiteRTLM::absl::absl INTERFACE_LINK_LIBRARIES)
Expand Down
2 changes: 1 addition & 1 deletion cmake/packages/flatbuffers/flatbuffers.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ set(FLATBUFFERS_CMAKE_CONFIG_FILE ${FLATBUFFERS_LIB_DIR}/cmake/flatbuffers/flatb
set(FLATBUFFERS_FLATC_EXECUTABLE "${FLATBUFFERS_BIN_DIR}/flatc" CACHE INTERNAL "")
set(FLATC_EXECUTABLE "${FLATBUFFERS_BIN_DIR}/flatc" CACHE INTERNAL "")

if(DEFINED LITERTLM_HOST_FLATC)
if(LITERTLM_HOST_FLATC AND EXISTS "${LITERTLM_HOST_FLATC}")
message(STATUS "[LiteRTLM] FlatBuffers: Using host flatc at ${LITERTLM_HOST_FLATC_BIN_DIR}")
set(FLATBUFFERS_BIN_DIR "${LITERTLM_HOST_BIN_DIR}" CACHE INTERNAL "Host Flatbuffers binary path")
set(FLATBUFFERS_FLATC_EXECUTABLE "${LITERTLM_HOST_FLATC}" CACHE INTERNAL "Host flatc")
Expand Down
16 changes: 0 additions & 16 deletions cmake/packages/gtest/gtest.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -21,22 +21,6 @@ set(GTEST_INSTALL_PREFIX ${GTEST_EXT_PREFIX}/install)
set(GTEST_INCLUDE_DIR ${GTEST_INSTALL_PREFIX}/include)
set(GTEST_CONFIG_CMAKE_FILE "${GTEST_INSTALL_PREFIX}/lib/cmake/GTest/GTestConfig.cmake")

set(absl_DIR "${ABSL_INSTALL_PREFIX}/lib/cmake/absl" CACHE PATH "Path to absl config")
set(ABSL_DIR "${ABSL_INSTALL_PREFIX}/lib/cmake/absl" CACHE PATH "Path to absl config")
set(absl_ROOT "${ABSL_INSTALL_PREFIX}" CACHE PATH "absl root dir")
set(ABSL_ROOT "${ABSL_INSTALL_PREFIX}" CACHE PATH "absl root dir")

list(APPEND CMAKE_PREFIX_PATH "${ABSL_INSTALL_PREFIX}")
list(APPEND CMAKE_SYSTEM_PREFIX_PATH "${ABSL_INSTALL_PREFIX}")

set(ABSL_INCLUDE_DIR "${ABSL_INSTALL_PREFIX}/include" CACHE PATH "absl include dir")
set(ABSL_INCLUDE_DIRS "${ABSL_INSTALL_PREFIX}/include" CACHE PATH "absl include dirs")
set(absl_INCLUDE_DIR "${ABSL_INSTALL_PREFIX}/include" CACHE PATH "absl include dir")
set(absl_INCLUDE_DIRS "${ABSL_INSTALL_PREFIX}/include" CACHE PATH "absl include dirs")
set(ABSL_LIBRARY_DIR "${ABSL_INSTALL_PREFIX}/lib" CACHE PATH "absl lib dir")
set(ABSL_LIB_DIR "${ABSL_INSTALL_PREFIX}/lib" CACHE PATH "absl lib dir")
set(absl_LIBRARY_DIR "${ABSL_INSTALL_PREFIX}/lib" CACHE PATH "absl lib dir")

setup_external_install_structure("${GTEST_INSTALL_PREFIX}")

if(NOT EXISTS "${GTEST_CONFIG_CMAKE_FILE}")
Expand Down
2 changes: 1 addition & 1 deletion cmake/packages/litert/litert.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ ExternalProject_Add(
GIT_REPOSITORY
https://github.com/google-ai-edge/LiteRT.git
GIT_TAG
fb16353a648922cb6c67a8e9a7a9ebc946360ad2 #Updated on 2026-03-24
2160f96fe644275c3aec078f1cc839fa478db5e9 #Updated on 2026-04-06
GIT_SUBMODULES ""
GIT_SUBMODULES_RECURSE FALSE
PREFIX
Expand Down
2 changes: 1 addition & 1 deletion cmake/packages/litert/litert_patcher.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ patch_file_content("${LITERT_SRC_DIR}/cc/internal/litert_runtime_builtin.cc"
file(READ "${LITERT_PACKAGE_DIR}/shims/litert_cc_options_shim.cmake" litert_cc_options_shim_CONTENT)
patch_file_content("${LITERT_SRC_DIR}/cc/options/CMakeLists.txt"
"cmake_minimum_required\\(VERSION 3.20\\).*"
${litert_cc_options_shim_CONTENT}
"${litert_cc_options_shim_CONTENT}"
TRUE
)

Expand Down
16 changes: 11 additions & 5 deletions cmake/packages/litert/litert_target_map.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,10 @@
# See the License for the specific language governing permissions and
# limitations under the License.

# Updated on 2026-03-25
# Updated on 2026-04-06
set(LITERT_TARGET_MAP
"litert::cc_api=${LITERT_BUILD_DIR}/cc/liblitert_cc_api.a"
"litert::cc_options=${LITERT_BUILD_DIR}/cc/options/liblitert_cc_options.a"
"litert::cc_internal=${LITERT_BUILD_DIR}/cc/internal/liblitert_cc_internal.a"
"litert::cc_internal_extra=${LITERT_BUILD_DIR}/cc/internal/liblitert_cc_internal_extra.a"
"litert::runtime=${LITERT_BUILD_DIR}/runtime/liblitert_runtime.a"
Expand All @@ -27,23 +28,28 @@ set(LITERT_TARGET_MAP
"litert::tool_flags_apply_plugin=${LITERT_BUILD_DIR}/tools/flags/liblitert_tool_flags_apply_plugin.a"
"litert::tool_flags_mediatek=${LITERT_BUILD_DIR}/tools/flags/vendors/liblitert_tool_flags_mediatek.a"
"litert::tool_flags_google_tensor=${LITERT_BUILD_DIR}/tools/flags/vendors/liblitert_tool_flags_google_tensor.a"
"litert::tool_flags_samsung=${LITERT_BUILD_DIR}/tools/flags/vendors/liblitert_tool_flags_samsung.a"
"litert::tool_flags_intel_openvino=${LITERT_BUILD_DIR}/tools/flags/vendors/liblitert_tool_flags_intel_openvino.a"
"litert::tool_flags_qualcomm=${LITERT_BUILD_DIR}/tools/flags/vendors/liblitert_tool_flags_qualcomm.a"
"litert::tool_flags_types=${LITERT_BUILD_DIR}/tools/flags/liblitert_tool_flags_types.a"
"litert::qnn_saver_utils=${LITERT_BUILD_DIR}/vendors/qualcomm/libqnn_saver_utils.a"
"litert::qnn_manager=${LITERT_BUILD_DIR}/vendors/qualcomm/libqnn_manager.a"
"litert::qnn_context_binary_info=${LITERT_BUILD_DIR}/vendors/qualcomm/libqnn_context_binary_info.a"
"litert::qnn_tensor_pool=${LITERT_BUILD_DIR}/vendors/qualcomm/core/libqnn_tensor_pool.a"
"litert::qnn_backends=${LITERT_BUILD_DIR}/vendors/qualcomm/core/backends/libqnn_backends.a"
"litert::qnn_dump=${LITERT_BUILD_DIR}/vendors/qualcomm/core/dump/libqnn_dump.a"
"litert::qnn_dump_graph=${LITERT_BUILD_DIR}/vendors/qualcomm/core/dump/libqnn_dump_graph.a"
"litert::qnn_transformation=${LITERT_BUILD_DIR}/vendors/qualcomm/core/transformation/libqnn_transformation.a"
"litert::qnn_wrappers=${LITERT_BUILD_DIR}/vendors/qualcomm/core/wrappers/libqnn_wrappers.a"
"litert::qnn_common=${LITERT_BUILD_DIR}/vendors/qualcomm/core/libqnn_common.a"
"litert::qnn_builders=${LITERT_BUILD_DIR}/vendors/qualcomm/core/builders/libqnn_builders.a"
"litert::qnn_core=${LITERT_BUILD_DIR}/vendors/qualcomm/core/libqnn_core.a"
"litert::qnn_miscs=${LITERT_BUILD_DIR}/vendors/qualcomm/core/utils/libqnn_miscs.a"
"litert::qnn_model=${LITERT_BUILD_DIR}/vendors/qualcomm/core/utils/libqnn_model.a"
"litert::qnn_log=${LITERT_BUILD_DIR}/vendors/qualcomm/core/utils/libqnn_log.a"
"litert::qnn_soc_table=${LITERT_BUILD_DIR}/vendors/qualcomm/core/schema/libqnn_soc_table.a"
"litert::logging=${LITERT_BUILD_DIR}/c/liblitert_logging.a"
"litert::c_api=${LITERT_BUILD_DIR}/c/liblitert_c_api.a"
"litert::compiler_plugin=${LITERT_BUILD_DIR}/compiler/liblitert_compiler_plugin.a"
"litert::core=${LITERT_BUILD_DIR}/core/liblitert_core.a"
"litert::core_cache=${LITERT_BUILD_DIR}/core/cache/liblitert_core_cache.a"
"litert::core_model=${LITERT_BUILD_DIR}/core/model/liblitert_core_model.a"
"litert::cc_options=${LITERT_BUILD_DIR}/cc/options/liblitert_cc_options.a"
)
)
5 changes: 5 additions & 0 deletions cmake/packages/litert_lm/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,11 @@ option(LITERT_BUILD_CONFIG_DISABLE_NPU_VAL
TRUE
)

option(LITERTLM_ENABLE_KLEIDIAI
"Bool passed to XNNPACK for enabling KleidiAI. Defaults to FALSE."
FALSE
)

set_property(GLOBAL PROPERTY LITERTLM_LOCAL_ARCHIVE_REGISTRY "")
set_property(GLOBAL PROPERTY LITERTLM_LOCAL_TARGET_REGISTRY "")

Expand Down
2 changes: 1 addition & 1 deletion cmake/packages/protobuf/protobuf.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ set(PROTO_BIN_DIR ${PROTO_INSTALL_PREFIX}/bin CACHE INTERNAL "")
set(PROTO_PROTOC_EXECUTABLE ${PROTO_BIN_DIR}/protoc CACHE INTERNAL "")
set(protobuf_generate_PROTOC_EXE ${PROTO_BIN_DIR}/protoc CACHE INTERNAL "")

if(DEFINED LITERTLM_HOST_PROTOC)
if(LITERTLM_HOST_PROTOC AND EXISTS "${LITERTLM_HOST_PROTOC}")
message(STATUS "[LiteRTLM] Protobuf: Using host protoc at ${LITERTLM_HOST_PROTOC}")
set(PROTO_BIN_DIR ${LITERTLM_HOST_PROTOC_BIN_DIR} CACHE INTERNAL "Host Protobuf binary path")
set(PROTO_PROTOC_EXECUTABLE "${LITERTLM_HOST_PROTOC}" CACHE INTERNAL "Host protoc")
Expand Down
30 changes: 13 additions & 17 deletions cmake/packages/re2/re2.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -20,26 +20,10 @@ set(RE2_EXT_PREFIX ${EXTERNAL_PROJECT_BINARY_DIR}/re2 CACHE INTERNAL "")
set(RE2_INSTALL_PREFIX ${RE2_EXT_PREFIX}/install CACHE INTERNAL "")
set(RE2_LIB_DIR ${RE2_INSTALL_PREFIX}/lib CACHE INTERNAL "")
set(RE2_INCLUDE_DIR ${RE2_INSTALL_PREFIX}/include CACHE INTERNAL "")
set(RE2_SRC_DIR ${RE2_EXT_PREFIX}/src/re2_external)
set(RE2_CONFIG_CMAKE_FILE "${RE2_LIB_DIR}/cmake/re2/re2Config.cmake" CACHE INTERNAL "")


set(absl_DIR "${ABSL_INSTALL_PREFIX}/lib/cmake/absl" CACHE PATH "Path to absl config")
set(ABSL_DIR "${ABSL_INSTALL_PREFIX}/lib/cmake/absl" CACHE PATH "Path to absl config")
set(absl_ROOT "${ABSL_INSTALL_PREFIX}" CACHE PATH "absl root dir")
set(ABSL_ROOT "${ABSL_INSTALL_PREFIX}" CACHE PATH "absl root dir")

list(APPEND CMAKE_PREFIX_PATH "${ABSL_INSTALL_PREFIX}")
list(APPEND CMAKE_SYSTEM_PREFIX_PATH "${ABSL_INSTALL_PREFIX}")

set(ABSL_INCLUDE_DIR "${ABSL_INSTALL_PREFIX}/include" CACHE PATH "absl include dir")
set(ABSL_INCLUDE_DIRS "${ABSL_INSTALL_PREFIX}/include" CACHE PATH "absl include dirs")
set(absl_INCLUDE_DIR "${ABSL_INSTALL_PREFIX}/include" CACHE PATH "absl include dir")
set(absl_INCLUDE_DIRS "${ABSL_INSTALL_PREFIX}/include" CACHE PATH "absl include dirs")
set(ABSL_LIBRARY_DIR "${ABSL_INSTALL_PREFIX}/lib" CACHE PATH "absl lib dir")
set(ABSL_LIB_DIR "${ABSL_INSTALL_PREFIX}/lib" CACHE PATH "absl lib dir")
set(absl_LIBRARY_DIR "${ABSL_INSTALL_PREFIX}/lib" CACHE PATH "absl lib dir")


setup_external_install_structure("${RE2_INSTALL_PREFIX}")

if(NOT EXISTS "${RE2_CONFIG_CMAKE_FILE}")
Expand All @@ -54,6 +38,15 @@ if(NOT EXISTS "${RE2_CONFIG_CMAKE_FILE}")
main
PREFIX
${RE2_EXT_PREFIX}
PATCH_COMMAND
git checkout -- . && git clean -df
COMMAND ${CMAKE_COMMAND}
-DABSL_CONFIG_CMAKE_FILE=${ABSL_CONFIG_CMAKE_FILE}
-DLITERTLM_MODULES_DIR=${LITERTLM_MODULES_DIR}
-DLITERTLM_RE2_SRC_DIR=${RE2_SRC_DIR}
-DLITERTLM_RE2_SHIM_PATH="${RE2_PACKAGE_DIR}/re2_shim.cmake"
-P "${RE2_PACKAGE_DIR}/re2_patcher.cmake"

CMAKE_ARGS
${LITERTLM_TOOLCHAIN_FILE}
${LITERTLM_TOOLCHAIN_ARGS}
Expand All @@ -71,6 +64,9 @@ if(NOT EXISTS "${RE2_CONFIG_CMAKE_FILE}")
-DABSL_LIBRARY_DIR=${ABSL_LIBRARY_DIR}
-DABSL_LIB_DIR=${ABSL_LIB_DIR}
-Dabsl_LIBRARY_DIR=${absl_LIBRARY_DIR}
-DABSL_PACKAGE_DIR=${ABSL_PACKAGE_DIR}
-DLITERTLM_MODULES_DIR=${LITERTLM_MODULES_DIR}
-DLITERTLM_RE2_SHIM_PATH="${RE2_PACKAGE_DIR}"
)

else()
Expand Down
6 changes: 3 additions & 3 deletions cmake/packages/re2/re2_patcher.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@

message(STATUS "[LiteRTLM] Patching RE2...")

set(ROOT_LIST "${RE2_SRC_DIR}/CMakeLists.txt")
set(ROOT_LIST "${LITERTLM_RE2_SRC_DIR}/CMakeLists.txt")

if(EXISTS "${ROOT_LIST}")
file(READ "${ROOT_LIST}" ROOT_CONTENT)

string(REPLACE
"set(RE2_CXX_VERSION cxx_std_17)"
"set(RE2_CXX_VERSION cxx_std_20)"
"set(RE2_CXX_VERSION cxx_std_17)"
"set(RE2_CXX_VERSION cxx_std_20)\ninclude(${LITERTLM_RE2_SHIM_PATH})"
ROOT_CONTENT "${ROOT_CONTENT}"
)

Expand Down
60 changes: 60 additions & 0 deletions cmake/packages/re2/re2_shim.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# 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.


include_guard(GLOBAL)

include("${LITERTLM_MODULES_DIR}/utils.cmake")
include("${ABSL_PACKAGE_DIR}/absl_aggregate.cmake")


generate_absl_aggregate()

include_directories(${ABSL_INCLUDE_DIR})
link_libraries(LiteRTLM::absl::shim)

# --- Toolchain-Specific Linker Flags ---
set(_LITERTLM_LINK_MULTIDEF "")
set(_LITERTLM_LINK_GROUP_START "")
set(_LITERTLM_LINK_GROUP_END "")
set(_LITERTLM_SYSLIBS "")

if(CMAKE_CXX_COMPILER_ID MATCHES "Clang|GNU")
if(APPLE)
# AppleClang / Mach-O Linker
set(_LITERTLM_LINK_MULTIDEF "-Wl,-multiply_defined,suppress")
set(_LITERTLM_SYSLIBS "-lz -lpthread -ldl")
elseif(ANDROID)
# Android / Bionic (NO standalone rt or pthread)
set(_LITERTLM_LINK_MULTIDEF "-Wl,--allow-multiple-definition")
set(_LITERTLM_LINK_GROUP_START "-Wl,--start-group")
set(_LITERTLM_LINK_GROUP_END "-Wl,--end-group")
set(_LITERTLM_SYSLIBS "-lz -ldl -llog")
else()
# Linux / ELF Linker (GNU ld or LLD)
set(_LITERTLM_LINK_MULTIDEF "-Wl,--allow-multiple-definition")
set(_LITERTLM_LINK_GROUP_START "-Wl,--start-group")
set(_LITERTLM_LINK_GROUP_END "-Wl,--end-group")
set(_LITERTLM_SYSLIBS "-lz -lrt -lpthread -ldl")
endif()
elseif(MSVC)
# MSVC Linker
set(_LITERTLM_LINK_MULTIDEF "/FORCE:MULTIPLE")
set(_LITERTLM_SYSLIBS "") # Relying on MSVC defaults, add specifics if needed later
endif()

set(CMAKE_CXX_STANDARD_LIBRARIES
"${CMAKE_CXX_STANDARD_LIBRARIES} ${_LITERTLM_LINK_MULTIDEF} ${_LITERTLM_LINK_GROUP_START} ${_ABSL_PAYLOAD} ${_LITERTLM_SYSLIBS} ${_LITERTLM_LINK_GROUP_END}"
CACHE STRING "Forced Abseil aggregate for Protobuf internal linking" FORCE
)
1 change: 1 addition & 0 deletions cmake/packages/tflite/tflite.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,7 @@ if(NOT EXISTS "${TFLITE_STATIC_LIB}")
-DTFLITE_ENABLE_RESOURCE_VARIABLE=OFF
-DXNNPACK_SET_VERBOSITY=OFF
-DTFLITE_ENABLE_GPU=OFF
-DXNNPACK_ENABLE_KLEIDIAI=${LITERTLM_ENABLE_KLEIDIAI}

-DTFLITE_SRC_DIR=${TFLITE_SRC_DIR}
-DTFLITE_BUILD_DIR=${TFLITE_BUILD_DIR}
Expand Down
2 changes: 1 addition & 1 deletion cmake/packages/tflite/tflite_target_map.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ set(TFLITE_TARGET_MAP
"tflite_profiling=${TFLITE_LIB_DIR}/libtflite_profiling.a"
)

if(LITERTLM_TOOLCHAIN_ARGS)
if(LITERTLM_ENABLE_KLEIDIAI)
message(STATUS "[LiteRTLM] Cross-compilation detected: Appending ARM64 targets.")
list(APPEND TFLITE_TARGET_MAP "kleidiai=${TFLITE_LIB_DIR}/libkleidiai.a")
endif()
Expand Down
3 changes: 3 additions & 0 deletions runtime/components/constrained_decoding/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,9 @@ target_link_libraries(runtime_components_constrained_decoding_llg_constraint_pro

add_litertlm_library(runtime_components_constrained_decoding_llguidance_schema_utils STATIC
llguidance_schema_utils.cc
llg_fc_tool_calls.cc
llg_python_tool_calls.cc
llg_tool_call_utils.cc
)
add_library(LiteRTLM::Runtime::Components::ConstrainedDecoding::LlguidanceSchemaUtils
ALIAS runtime_components_constrained_decoding_llguidance_schema_utils)
Expand Down
1 change: 1 addition & 0 deletions runtime/components/preprocessor/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ target_include_directories(runtime_components_preprocessor_signal_vector_util
# ==============================================================================
add_litertlm_library(runtime_components_preprocessor_stb_image_preprocessor STATIC
stb_image_preprocessor.cc
image_preprocessor_utils.cc
)
add_library(LiteRTLM::Runtime::Components::Preprocessor::StbImage ALIAS runtime_components_preprocessor_stb_image_preprocessor)

Expand Down
21 changes: 21 additions & 0 deletions runtime/conversation/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,27 @@ target_link_libraries(runtime_conversation_prompt_utils
)


add_litertlm_library(runtime_conversation_channel_util STATIC
channel_util.cc
)
add_library(LiteRTLM::Runtime::Conversation::ChannelUtil ALIAS runtime_conversation_channel_util)

target_include_directories(runtime_conversation_channel_util
PUBLIC
${GENERATED_SRC_DIR}
${LITERTLM_INCLUDE_PATHS}
)

target_link_libraries(runtime_conversation_channel_util
PUBLIC
LITERTLM_DEPS
LiteRTLM::Runtime::Conversation::IoTypes
LiteRTLM::Runtime::Engine::IoTypes
)




add_library(runtime_conversation_libs INTERFACE)
add_library(LiteRTLM::Runtime::Conversation ALIAS runtime_conversation_libs)

Expand Down
Loading