# # Copyright © 2017 Arm Ltd. All rights reserved. # SPDX-License-Identifier: MIT # if(BUILD_TF_LITE_PARSER) set(armnn_tf_lite_parser_sources) list(APPEND armnn_tf_lite_parser_sources ../../include/armnnTfLiteParser/ITfLiteParser.hpp ../../include/armnnTfLiteParser/Version.hpp TfLiteParser.hpp TfLiteParser.cpp ) add_library_ex(armnnTfLiteParser SHARED ${armnn_tf_lite_parser_sources}) include_directories(SYSTEM "${FLATBUFFERS_INCLUDE_PATH}") set_target_properties(armnnTfLiteParser PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}) target_include_directories(armnnTfLiteParser PRIVATE ../armnn) target_include_directories(armnnTfLiteParser PRIVATE ../armnnUtils) target_include_directories(armnnTfLiteParser SYSTEM PRIVATE "${TF_LITE_SCHEMA_INCLUDE_PATH}") # using the armnn/delegate/cmake/Modules/FindTfLiteSrc.cmake to find the TfLite sources # so that we can use the tensorflow/lite/version.h to determine which version of # tensorflow lite we are compiling against find_package(TfLiteSrc REQUIRED MODULE) # Various tflite header files are not warning clean # We can't change compilation flags on header files directly, so we need to add them to an interface library first add_library(tflite_version_headers INTERFACE) target_include_directories(tflite_version_headers INTERFACE $ $) if(COMPILER_IS_GNU_LIKE) target_compile_options(tflite_version_headers INTERFACE -Wno-conversion -Wno-sign-conversion -Wno-unused-parameter -Wno-unused-function) endif() # If user has explicitly specified flatbuffers lib then use that, # otherwise search for it based on FLATBUFFERS_BUILD_DIR if (FLATBUFFERS_LIBRARY) target_link_libraries(armnnTfLiteParser armnn tflite_version_headers ${FLATBUFFERS_LIBRARY}) else() # Use PATH_SUFFIXES to help find separate libs for debug/release on Windows builds find_library(FLATBUFFERS_LIBRARY_DEBUG NAMES flatbuffers HINTS ${FLATBUFFERS_BUILD_DIR} PATH_SUFFIXES "Debug") find_library(FLATBUFFERS_LIBRARY_RELEASE NAMES flatbuffers HINTS ${FLATBUFFERS_BUILD_DIR} PATH_SUFFIXES "Release") target_link_libraries(armnnTfLiteParser armnn tflite_version_headers debug ${FLATBUFFERS_LIBRARY_DEBUG} optimized ${FLATBUFFERS_LIBRARY_RELEASE}) endif() set_target_properties(armnnTfLiteParser PROPERTIES VERSION ${TFLITE_PARSER_LIB_VERSION} SOVERSION ${TFLITE_PARSER_LIB_SOVERSION} ) install(TARGETS armnnTfLiteParser LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) endif()