Spaces:
Running
Running
| # 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}) | |
| # ============================================================================== | |
| # 0. Local Proto: External File | |
| # ============================================================================== | |
| # set(EXTERNAL_FILE_PROTO "external_file.proto") | |
| # set(EXTERNAL_FILE_PROTO_SRCS "${CMAKE_BINARY_DIR}/runtime/util/external_file.pb.cc") | |
| # set(EXTERNAL_FILE_PROTO_HDRS "${CMAKE_BINARY_DIR}/runtime/util/external_file.pb.h") | |
| # add_custom_command( | |
| # OUTPUT ${EXTERNAL_FILE_PROTO_SRCS} ${EXTERNAL_FILE_PROTO_HDRS} | |
| # COMMAND ${PROTO_COMPILER} | |
| # ARGS --cpp_out=${CMAKE_BINARY_DIR} -I${PROJECT_SOURCE_DIR} ${PKG_ROOT}/${EXTERNAL_FILE_PROTO} | |
| # DEPENDS ${PKG_ROOT}/${EXTERNAL_FILE_PROTO} | |
| # COMMENT "Generating C++ code for external_file.proto" | |
| # VERBATIM | |
| # ) | |
| # add_litertlm_library(runtime_util_external_file_cc_proto STATIC | |
| # ${EXTERNAL_FILE_PROTO_SRCS} | |
| # ${EXTERNAL_FILE_PROTO_HDRS} | |
| # ) | |
| # target_include_directories(runtime_util_external_file_cc_proto | |
| # PUBLIC | |
| # ${LITERTLM_INCLUDE_PATHS} | |
| # ${CMAKE_BINARY_DIR} | |
| # ) | |
| # target_link_libraries(runtime_util_external_file_cc_proto PUBLIC LITERTLM_DEPS) | |
| # ============================================================================== | |
| # 1. Convert Tensor Buffer | |
| # ============================================================================== | |
| add_litertlm_library(runtime_util_convert_tensor_buffer INTERFACE) | |
| add_library(LiteRTLM::Runtime::Util::ConvertTensorBuffer ALIAS runtime_util_convert_tensor_buffer) | |
| target_include_directories(runtime_util_convert_tensor_buffer | |
| INTERFACE | |
| ${GENERATED_SRC_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ) | |
| target_link_libraries(runtime_util_convert_tensor_buffer | |
| INTERFACE | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 2. Tensor Buffer Util | |
| # ============================================================================== | |
| add_litertlm_library(runtime_util_tensor_buffer_util STATIC | |
| tensor_buffer_util.cc | |
| ) | |
| add_library(LiteRTLM::Runtime::Util::TensorBufferUtil ALIAS runtime_util_tensor_buffer_util) | |
| target_include_directories(runtime_util_tensor_buffer_util | |
| PRIVATE | |
| ${CMAKE_BINARY_DIR} | |
| ${GENERATED_SRC_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ) | |
| target_link_libraries(runtime_util_tensor_buffer_util | |
| PUBLIC | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 3. LiteRT Status Util | |
| # ============================================================================== | |
| add_litertlm_library(runtime_util_litert_status_util INTERFACE) | |
| add_library(LiteRTLM::Runtime::Util::LiteRtStatusUtil ALIAS runtime_util_litert_status_util) | |
| target_include_directories(runtime_util_litert_status_util | |
| INTERFACE | |
| ${GENERATED_SRC_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ) | |
| target_link_libraries(runtime_util_litert_status_util | |
| INTERFACE | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 4. Scoped File (Platform Specific) | |
| # ============================================================================== | |
| set(LITERT_CC_INTERNAL_DIR "${LITERT_SRC_DIR}/cc/internal/" CACHE PATH "") | |
| set(SCOPED_FILE_SRCS "${LITERT_CC_INTERNAL_DIR}/scoped_file.cc") | |
| if(WIN32) | |
| list(APPEND SCOPED_FILE_SRCS "${LITERT_CC_INTERNAL_DIR}/scoped_file_win.cc") | |
| else() | |
| list(APPEND SCOPED_FILE_SRCS "${LITERT_CC_INTERNAL_DIR}/scoped_file_posix.cc") | |
| endif() | |
| add_litertlm_library(runtime_util_scoped_file STATIC | |
| ${SCOPED_FILE_SRCS} | |
| ) | |
| add_library(LiteRTLM::Runtime::Util::ScopedFile ALIAS runtime_util_scoped_file) | |
| target_include_directories(runtime_util_scoped_file | |
| PRIVATE | |
| ${GENERATED_SRC_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ) | |
| target_link_libraries(runtime_util_scoped_file | |
| PUBLIC | |
| LiteRTLM::Runtime::Util::LiteRtStatusUtil | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 5. Memory Mapped File (Platform Specific) | |
| # ============================================================================== | |
| if(WIN32) | |
| set(MMAP_SRC memory_mapped_file_win.cc) | |
| else() | |
| set(MMAP_SRC memory_mapped_file_posix.cc) | |
| endif() | |
| add_litertlm_library(runtime_util_memory_mapped_file STATIC | |
| ${MMAP_SRC} | |
| ) | |
| add_library(LiteRTLM::Runtime::Util::MemoryMappedFile ALIAS runtime_util_memory_mapped_file) | |
| if(WIN32) | |
| target_compile_definitions(runtime_util_memory_mapped_file PRIVATE _WIN32_WINNT=_WIN32_WINNT_WIN10) | |
| endif() | |
| target_include_directories(runtime_util_memory_mapped_file | |
| PRIVATE | |
| ${GENERATED_SRC_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ) | |
| target_link_libraries(runtime_util_memory_mapped_file | |
| PUBLIC | |
| LiteRTLM::Runtime::Util::LiteRtStatusUtil | |
| LiteRTLM::Runtime::Util::ScopedFile | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 6. File Util | |
| # ============================================================================== | |
| add_litertlm_library(runtime_util_file_util STATIC | |
| file_util.cc | |
| ) | |
| add_library(LiteRTLM::Runtime::Util::FileUtil ALIAS runtime_util_file_util) | |
| target_include_directories(runtime_util_file_util | |
| PRIVATE | |
| ${GENERATED_SRC_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ) | |
| target_link_libraries(runtime_util_file_util | |
| PUBLIC | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 7. File Format Util | |
| # ============================================================================== | |
| add_litertlm_library(runtime_util_file_format_util STATIC | |
| file_format_util.cc | |
| ) | |
| add_library(LiteRTLM::Runtime::Util::FileFormatUtil ALIAS runtime_util_file_format_util) | |
| target_include_directories(runtime_util_file_format_util | |
| PRIVATE | |
| ${GENERATED_SRC_DIR} | |
| ${CMAKE_BINARY_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ) | |
| target_link_libraries(runtime_util_file_format_util | |
| PUBLIC | |
| runtime_executor_executor_settings_base | |
| LiteRTLM::Runtime::Util::LiteRtStatusUtil | |
| LiteRTLM::Runtime::Util::MemoryMappedFile | |
| LiteRTLM::Runtime::Util::ScopedFile | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 8. Executor Data Util | |
| # ============================================================================== | |
| add_litertlm_library(runtime_util_executor_data_util STATIC | |
| executor_data_util.cc | |
| ) | |
| add_library(LiteRTLM::Runtime::Util::ExecutorDataUtil ALIAS runtime_util_executor_data_util) | |
| target_include_directories(runtime_util_executor_data_util | |
| PRIVATE | |
| ${GENERATED_SRC_DIR} | |
| ${CMAKE_BINARY_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ) | |
| target_link_libraries(runtime_util_executor_data_util | |
| PUBLIC | |
| LiteRTLM::Runtime::Util::ConvertTensorBuffer | |
| LiteRTLM::Runtime::Util::TensorBufferUtil | |
| runtime_executor_llm_executor_io_types # [Restored explicit link] | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 9. LiteRT LM Loader | |
| # ============================================================================== | |
| add_litertlm_library(runtime_util_litert_lm_loader STATIC | |
| litert_lm_loader.cc | |
| ) | |
| add_library(LiteRTLM::Runtime::Util::LMLoader ALIAS runtime_util_litert_lm_loader) | |
| target_include_directories(runtime_util_litert_lm_loader | |
| PRIVATE | |
| ${GENERATED_SRC_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ) | |
| target_link_libraries(runtime_util_litert_lm_loader | |
| PUBLIC | |
| LiteRTLM::Runtime::Util::LiteRtStatusUtil | |
| LiteRTLM::Runtime::Util::MemoryMappedFile | |
| LiteRTLM::Runtime::Util::ScopedFile | |
| LiteRTLM::Schema::Core | |
| LITERTLM_DEPS | |
| LiteRTLM::Runtime::Components::ModelResources::Interface # Components | |
| ) | |
| # ============================================================================== | |
| # 10. Logging | |
| # ============================================================================== | |
| add_litertlm_library(runtime_util_logging INTERFACE) | |
| add_library(LiteRTLM::Runtime::Util::Logging ALIAS runtime_util_logging) | |
| target_include_directories(runtime_util_logging | |
| INTERFACE | |
| ${GENERATED_SRC_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ) | |
| target_link_libraries(runtime_util_logging | |
| INTERFACE | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 11. Logging Tensor Buffer | |
| # ============================================================================== | |
| add_litertlm_library(runtime_util_logging_tensor_buffer STATIC | |
| logging_tensor_buffer.cc | |
| ) | |
| add_library(LiteRTLM::Runtime::Util::LoggingTensorBuffer ALIAS runtime_util_logging_tensor_buffer) | |
| target_include_directories(runtime_util_logging_tensor_buffer | |
| PRIVATE | |
| ${GENERATED_SRC_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ) | |
| target_link_libraries(runtime_util_logging_tensor_buffer | |
| PUBLIC | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 12. LoRA Util | |
| # ============================================================================== | |
| add_litertlm_library(runtime_util_lora_util STATIC | |
| lora_util.cc | |
| ) | |
| add_library(LiteRTLM::Runtime::Util::LoRAUtil ALIAS runtime_util_lora_util) | |
| target_include_directories(runtime_util_lora_util | |
| PRIVATE | |
| ${GENERATED_SRC_DIR} | |
| ${CMAKE_BINARY_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ) | |
| target_link_libraries(runtime_util_lora_util | |
| PUBLIC | |
| LiteRTLM::Runtime::Util::LiteRtStatusUtil | |
| LiteRTLM::Runtime::Util::MemoryMappedFile | |
| LiteRTLM::Runtime::Util::ScopedFile | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 13. LoRA Data | |
| # ============================================================================== | |
| add_litertlm_library(runtime_util_lora_data STATIC | |
| lora_data.cc | |
| ) | |
| add_library(LiteRTLM::Runtime::Util::LoRAData ALIAS runtime_util_lora_data) | |
| target_include_directories(runtime_util_lora_data | |
| PRIVATE | |
| ${GENERATED_SRC_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ) | |
| target_link_libraries(runtime_util_lora_data | |
| PUBLIC | |
| LiteRTLM::Runtime::Util::LiteRtStatusUtil | |
| LiteRTLM::Runtime::Util::LoRAUtil | |
| LiteRTLM::Runtime::Util::ScopedFile | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 14. Metadata Util | |
| # ============================================================================== | |
| add_litertlm_library(runtime_util_metadata_util STATIC | |
| metadata_util.cc | |
| ) | |
| add_library(LiteRTLM::Runtime::Util::MetadataUtil ALIAS runtime_util_metadata_util) | |
| target_include_directories(runtime_util_metadata_util | |
| PRIVATE | |
| ${GENERATED_SRC_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ) | |
| target_link_libraries(runtime_util_metadata_util | |
| PUBLIC | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 15. Zip Readonly Mem File | |
| # ============================================================================== | |
| add_litertlm_library(runtime_util_zip_readonly_mem_file STATIC | |
| zip_readonly_mem_file.cc | |
| ) | |
| add_library(LiteRTLM::Runtime::Util::ZipReadonlyMemFile ALIAS runtime_util_zip_readonly_mem_file) | |
| target_include_directories(runtime_util_zip_readonly_mem_file | |
| PRIVATE | |
| ${CMAKE_BINARY_DIR} | |
| ${GENERATED_SRC_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ${THIRD_PARTY_DIR}/minizip | |
| ) | |
| target_link_libraries(runtime_util_zip_readonly_mem_file | |
| PUBLIC | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 16. Zip Utils | |
| # ============================================================================== | |
| add_litertlm_library(runtime_util_zip_utils STATIC | |
| zip_utils.cc | |
| ) | |
| add_library(LiteRTLM::Runtime::Util::ZipUtils ALIAS runtime_util_zip_utils) | |
| target_include_directories(runtime_util_zip_utils | |
| PRIVATE | |
| ${CMAKE_BINARY_DIR} | |
| ${GENERATED_SRC_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ${THIRD_PARTY_DIR} | |
| ) | |
| target_link_libraries(runtime_util_zip_utils | |
| PUBLIC | |
| LiteRTLM::Runtime::Util::LiteRtStatusUtil | |
| LiteRTLM::Runtime::Util::ZipReadonlyMemFile | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 17. Model Asset Bundle Resources | |
| # ============================================================================== | |
| add_litertlm_library(runtime_util_model_asset_bundle_resources STATIC | |
| model_asset_bundle_resources.cc | |
| ) | |
| add_library(LiteRTLM::Runtime::Util::ModelAssetBundleResources ALIAS runtime_util_model_asset_bundle_resources) | |
| target_include_directories(runtime_util_model_asset_bundle_resources | |
| PRIVATE | |
| ${GENERATED_SRC_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ) | |
| target_link_libraries(runtime_util_model_asset_bundle_resources | |
| PUBLIC | |
| LiteRTLM::Runtime::Util::LiteRtStatusUtil | |
| LiteRTLM::Runtime::Util::MemoryMappedFile | |
| LiteRTLM::Runtime::Util::ScopedFile | |
| LiteRTLM::Runtime::Util::ZipUtils | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 18. Model Type Utils | |
| # ============================================================================== | |
| add_litertlm_library(runtime_util_model_type_utils STATIC | |
| model_type_utils.cc | |
| ) | |
| add_library(LiteRTLM::Runtime::Util::ModelTypeUtils ALIAS runtime_util_model_type_utils) | |
| target_include_directories(runtime_util_model_type_utils | |
| PRIVATE | |
| ${GENERATED_SRC_DIR} | |
| ${LITERTLM_INCLUDE_PATHS} | |
| ) | |
| target_link_libraries(runtime_util_model_type_utils | |
| PUBLIC | |
| LiteRTLM::Runtime::Util::LiteRtStatusUtil | |
| LiteRTLM::Runtime::Components::Tokenizer::Interface | |
| LITERTLM_DEPS | |
| ) | |
| # ============================================================================== | |
| # 19. Folder Facade | |
| # ============================================================================== | |
| add_library(runtime_util_libs INTERFACE) | |
| add_library(LiteRTLM::Runtime::Util ALIAS runtime_util_libs) | |
| target_link_libraries(runtime_util_libs INTERFACE | |
| LiteRTLM::Runtime::Util::ConvertTensorBuffer | |
| LiteRTLM::Runtime::Util::ExecutorDataUtil | |
| LiteRTLM::Runtime::Util::FileFormatUtil | |
| LiteRTLM::Runtime::Util::FileUtil | |
| LiteRTLM::Runtime::Util::LMLoader | |
| LiteRTLM::Runtime::Util::LoggingTensorBuffer | |
| LiteRTLM::Runtime::Util::LoRAData | |
| LiteRTLM::Runtime::Util::LoRAUtil | |
| LiteRTLM::Runtime::Util::MemoryMappedFile | |
| LiteRTLM::Runtime::Util::MetadataUtil | |
| LiteRTLM::Runtime::Util::ModelAssetBundleResources | |
| LiteRTLM::Runtime::Util::ModelTypeUtils | |
| LiteRTLM::Runtime::Util::ScopedFile | |
| LiteRTLM::Runtime::Util::TensorBufferUtil | |
| LiteRTLM::Runtime::Util::ZipReadonlyMemFile | |
| LiteRTLM::Runtime::Util::ZipUtils | |
| ) |