--- /dev/null
+function(_TensorFlowLite_import)
+ nncc_find_package(TensorFlowSource QUIET)
+
+ if(NOT TensorFlowSource_FOUND)
+ set(TensorFlowLite_FOUND FALSE PARENT_SCOPE)
+ return()
+ endif(NOT TensorFlowSource_FOUND)
+
+ nncc_find_package(FlatBuffers QUIET)
+
+ if(NOT FlatBuffers_FOUND)
+ set(TensorFlowLite_FOUND FALSE PARENT_SCOPE)
+ return()
+ endif(NOT FlatBuffers_FOUND)
+
+ nncc_find_package(Farmhash QUIET)
+
+ if(NOT Farmhash_FOUND)
+ set(TensorFlowLite_FOUND FALSE PARENT_SCOPE)
+ return()
+ endif(NOT Farmhash_FOUND)
+
+ nncc_find_package(Eigen QUIET)
+
+ if(NOT Eigen_FOUND)
+ set(TensorFlowLite_FOUND FALSE PARENT_SCOPE)
+ return()
+ endif(NOT Eigen_FOUND)
+
+ nncc_find_package(GEMMLowp QUIET)
+
+ if(NOT GEMMLowp_FOUND)
+ set(TensorFlowLite_FOUND FALSE PARENT_SCOPE)
+ return()
+ endif(NOT GEMMLowp_FOUND)
+
+ nncc_find_package(NEON2SSE QUIET)
+
+ if(NOT NEON2SSE_FOUND)
+ set(TensorFlowLite_FOUND FALSE PARENT_SCOPE)
+ return()
+ endif(NOT NEON2SSE_FOUND)
+
+ set(TensorFlowLiteSource_DIR ${TensorFlowSource_DIR}/tensorflow/contrib/lite)
+
+ file(GLOB CORE_SRCS "${TensorFlowLiteSource_DIR}/*.c" "${TensorFlowLiteSource_DIR}/*.cc")
+ file(GLOB CORE_TESTS "${TensorFlowLiteSource_DIR}/*test*.cc")
+ list(REMOVE_ITEM CORE_SRCS ${CORE_TESTS})
+
+ file(GLOB_RECURSE KERNEL_SRCS "${TensorFlowLiteSource_DIR}/kernels/*.cc")
+ file(GLOB_RECURSE KERNEL_TESTS "${TensorFlowLiteSource_DIR}/kernels/*test*.cc")
+ list(REMOVE_ITEM KERNEL_SRCS ${KERNEL_TESTS})
+ # Exclude buggy kernel(s) from the build
+ list(REMOVE_ITEM KERNEL_SRCS "${TensorFlowLiteSource_DIR}/kernels/internal/spectrogram.cc")
+
+ list(APPEND SRCS ${CORE_SRCS})
+ list(APPEND SRCS ${KERNEL_SRCS})
+
+ if(NOT TARGET tensorflowlite)
+ add_library(tensorflowlite ${SRCS})
+ target_include_directories(tensorflowlite PUBLIC ${TensorFlowSource_DIR})
+ target_compile_options(tensorflowlite PUBLIC -Wno-ignored-attributes)
+ target_compile_definitions(tensorflowlite PUBLIC "GEMMLOWP_ALLOW_SLOW_SCALAR_FALLBACK")
+ target_link_libraries(tensorflowlite eigen gemmlowp neon2sse farmhash flatbuffers dl)
+ endif(NOT TARGET tensorflowlite)
+
+ set(TensorFlowLite_FOUND TRUE PARENT_SCOPE)
+endfunction(_TensorFlowLite_import)
+
+_TensorFlowLite_import()