From 177673ad9a5e4b33ef2c81cdab368d1a798b62ef Mon Sep 17 00:00:00 2001 From: =?utf8?q?=EB=B0=95=EC=A2=85=ED=98=84/=EB=8F=99=EC=9E=91=EC=A0=9C?= =?utf8?q?=EC=96=B4Lab=28SR=29/Senior=20Engineer/=EC=82=BC=EC=84=B1?= =?utf8?q?=EC=A0=84=EC=9E=90?= Date: Mon, 12 Mar 2018 17:42:28 +0900 Subject: [PATCH] Add eigen3 library (#53) This commit addes eigen3 as a CMake target, which allows us to easily use eigen3 in our internal implementation. Signed-off-by: Jonghyun Park --- externals/CMakeLists.txt | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt index 63d6bb9..210ffe6 100644 --- a/externals/CMakeLists.txt +++ b/externals/CMakeLists.txt @@ -15,6 +15,16 @@ set(TENSORFLOW_BASE ${CMAKE_CURRENT_SOURCE_DIR}/tensorflow) set(TENSORFLOW_LITE_BASE ${TENSORFLOW_BASE}/tensorflow/contrib/lite) +# Eigen 3 +file(GLOB_RECURSE EIGEN3_HDRS "${CMAKE_CURRENT_SOURCE_DIR}/eigen/*.h") + +# NOTE From 3.x, CMake supports INTERFACE library feature. Unfortunately, +# CMake 2.8.12 (which Ubuntu 14.04 provides) does not support this +# library feature. +add_library(eigen3 STATIC ${EIGEN3_HDRS}) +set_target_properties(eigen3 PROPERTIES LINKER_LANGUAGE CXX) +target_include_directories(eigen3 PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/eigen") + # # Protocol Buffer (>= 3.5.1) # @@ -68,7 +78,6 @@ list(APPEND TFLITE_SRCS "farmhash/src/farmhash.cc") list(APPEND TFLITE_INCLUDES "${CMAKE_CURRENT_SOURCE_DIR}/") list(APPEND TFLITE_INCLUDES "${CMAKE_CURRENT_SOURCE_DIR}/tensorflow") -list(APPEND TFLITE_INCLUDES "${CMAKE_CURRENT_SOURCE_DIR}/eigen") list(APPEND TFLITE_INCLUDES "${CMAKE_CURRENT_SOURCE_DIR}/gemmlowp") list(APPEND TFLITE_INCLUDES "${CMAKE_CURRENT_SOURCE_DIR}/neon_2_sse") list(APPEND TFLITE_INCLUDES "${CMAKE_CURRENT_SOURCE_DIR}/farmhash/src") @@ -77,6 +86,6 @@ list(APPEND TFLITE_INCLUDES "${CMAKE_CURRENT_SOURCE_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 pthread dl) +target_link_libraries(tensorflow_lite eigen3 pthread dl) install(TARGETS tensorflow_lite ARCHIVE DESTINATION lib) -- 2.7.4