From fbc6897d4564c04fb8d59f44df138d9a719de592 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=EB=B0=95=EC=A2=85=ED=98=84/On-Device=20Lab=28SR=29/Staff?= =?utf8?q?=20Engineer/=EC=82=BC=EC=84=B1=EC=A0=84=EC=9E=90?= Date: Mon, 18 Mar 2019 21:30:54 +0900 Subject: [PATCH] Use pre-built TensorFlow Lite (#4779) This commit updates TensorFlow Lite CMake package to lookup pre-built binaries from the system if BUILD_TENSORFLOW_LITE is set as OFF. Signed-off-by: Jonghyun Park --- cmake/packages/TensorFlowLiteConfig.cmake | 33 +++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/cmake/packages/TensorFlowLiteConfig.cmake b/cmake/packages/TensorFlowLiteConfig.cmake index d5924cd..ea6e79d 100644 --- a/cmake/packages/TensorFlowLiteConfig.cmake +++ b/cmake/packages/TensorFlowLiteConfig.cmake @@ -35,5 +35,34 @@ if(BUILD_TENSORFLOW_LITE) return() endif(BUILD_TENSORFLOW_LITE) -# TODO Allow users to import pre-built TensorFlow Lite! -set(TensorFlowLite_FOUND FALSE) +# Use pre-built TensorFlow Lite +find_path(TFLITE_INCLUDE_DIR NAMES tensorflow/contrib/lite/interpreter.h) +find_library(TFLITE_LIB NAMES tensorflow-lite) + +if(NOT TFLITE_INCLUDE_DIR) + set(TensorFlowLite_FOUND FALSE) + return() +endif(NOT TFLITE_INCLUDE_DIR) + +if(NOT TFLITE_LIB) + set(TensorFlowLite_FOUND FALSE) + return() +endif(NOT TFLITE_LIB) + +message(STATUS "Found TensorFlow Lite: TRUE (include: ${TFLITE_INCLUDE_DIR}, lib: ${TFLITE_LIB}") + +# TODO Use IMPORTED target +add_library(tensorflow-lite INTERFACE) +target_include_directories(tensorflow-lite SYSTEM INTERFACE ${TFLITE_INCLUDE_DIR}) +target_link_libraries(tensorflow-lite INTERFACE ${TFLITE_LIB}) + +# Prefer -pthread to -lpthread +set(THREADS_PREFER_PTHREAD_FLAG TRUE) +set(CMAKE_THREAD_PREFER_PTHREAD TRUE) +find_package(Threads QUIET) + +if(Threads_FOUND) + target_link_libraries(tensorflow-lite INTERFACE ${CMAKE_THREAD_LIBS_INIT}) +endif(Threads_FOUND) + +set(TensorFlowLite_FOUND TRUE) -- 2.7.4