summaryrefslogtreecommitdiff
path: root/externals/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'externals/CMakeLists.txt')
-rw-r--r--externals/CMakeLists.txt42
1 files changed, 42 insertions, 0 deletions
diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt
new file mode 100644
index 000000000..0d8579e48
--- /dev/null
+++ b/externals/CMakeLists.txt
@@ -0,0 +1,42 @@
+set(TENSORFLOW_BASE ${CMAKE_CURRENT_SOURCE_DIR}/tensorflow)
+set(TENSORFLOW_LITE_BASE ${TENSORFLOW_BASE}/tensorflow/contrib/lite)
+set(EXTERNAL_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/tensorflow/tensorflow/contrib/lite/downloads")
+
+include(eigen3.cmake)
+
+if(BUILD_IS_NATIVE AND NOT HOST_ARCH_BASE STREQUAL "arm")
+ add_subdirectory(${EXTERNAL_SRC_DIR}/flatbuffers)
+endif()
+
+#
+# Tensorflow Lite library
+#
+file(GLOB TFLITE_CORE_SRCS "${TENSORFLOW_LITE_BASE}/*.c" "${TENSORFLOW_LITE_BASE}/*.cc")
+file(GLOB TFLITE_CORE_TESTS "${TENSORFLOW_LITE_BASE}/*test*.cc")
+list(REMOVE_ITEM TFLITE_CORE_SRCS ${TFLITE_CORE_TESTS})
+
+file(GLOB_RECURSE TFLITE_KERNEL_SRCS "${TENSORFLOW_LITE_BASE}/kernels/*.cc")
+file(GLOB_RECURSE TFLITE_KERNEL_TESTS "${TENSORFLOW_LITE_BASE}/kernels/*test*.cc")
+list(REMOVE_ITEM TFLITE_KERNEL_SRCS ${TFLITE_KERNEL_TESTS})
+
+list(APPEND TFLITE_SRCS ${TFLITE_CORE_SRCS})
+list(APPEND TFLITE_SRCS ${TFLITE_KERNEL_SRCS})
+list(APPEND TFLITE_SRCS "${EXTERNAL_SRC_DIR}/farmhash/src/farmhash.cc")
+
+list(APPEND TFLITE_INCLUDES "${EXTERNAL_SRC_DIR}/")
+list(APPEND TFLITE_INCLUDES "${CMAKE_CURRENT_SOURCE_DIR}/tensorflow")
+list(APPEND TFLITE_INCLUDES "${EXTERNAL_SRC_DIR}/gemmlowp")
+list(APPEND TFLITE_INCLUDES "${EXTERNAL_SRC_DIR}/neon_2_sse")
+list(APPEND TFLITE_INCLUDES "${EXTERNAL_SRC_DIR}/farmhash/src")
+list(APPEND TFLITE_INCLUDES "${EXTERNAL_SRC_DIR}/flatbuffers/include")
+
+add_library(tensorflow-lite ${TFLITE_SRCS})
+target_include_directories(tensorflow-lite PUBLIC ${TFLITE_INCLUDES})
+target_compile_definitions(tensorflow-lite PUBLIC "GEMMLOWP_ALLOW_SLOW_SCALAR_FALLBACK")
+target_link_libraries(tensorflow-lite eigen3 ${LIB_PTHREAD} dl)
+
+install(TARGETS tensorflow-lite ARCHIVE DESTINATION lib)
+
+if(BUILD_ACL)
+ include(acl.cmake)
+endif(BUILD_ACL)