#
# Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
# SPDX-License-Identifier: MIT
#

include(FindPackageHandleStandardArgs)
unset(TFLITE_FOUND)

find_path(TfLite_INCLUDE_DIR
        NAMES
            tensorflow/lite
            third_party
        HINTS
            ${TENSORFLOW_ROOT})

find_library(TfLite_LIB
        NAMES
            "libtensorflow_lite_all.so"
            "libtensorflowlite.so"
        HINTS
            ${TFLITE_LIB_ROOT}
            ${TFLITE_LIB_ROOT}/tensorflow/lite)

find_path(TfLite_Schema_INCLUDE_PATH
            schema_generated.h
        HINTS
            ${TFLITE_LIB_ROOT}/tensorflow/lite/schema)

## Set TFLITE_FOUND
find_package_handle_standard_args(TfLite DEFAULT_MSG TfLite_INCLUDE_DIR TfLite_LIB TfLite_Schema_INCLUDE_PATH)

## Set external variables for usage in CMakeLists.txt
if(TFLITE_FOUND)
    set(TfLite_LIB ${TfLite_LIB})
    set(TfLite_INCLUDE_DIR ${TfLite_INCLUDE_DIR})
    set(TfLite_Schema_INCLUDE_PATH ${TfLite_Schema_INCLUDE_PATH})
endif()