aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorNattapat Chaimanowong <nattapat.chaimanowong@arm.com>2019-01-31 15:36:39 +0000
committernattapat.chaimanowong <nattapat.chaimanowong@arm.com>2019-02-06 11:40:31 +0000
commit949f1255a247f3a1a7eabe8c8f96087d02da1d5a (patch)
tree24ced175f325e57faf3e4a8d6269ba94203620f7 /CMakeLists.txt
parent27d830720ed706f187f2a40e2c5055e424aa8b91 (diff)
downloadarmnn-949f1255a247f3a1a7eabe8c8f96087d02da1d5a.tar.gz
IVGCVSW-2580 Integrate serialization schema code generation to build process
Change-Id: I092df948346281878be7e0a1d31b0748d99a99b2 Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@arm.com>
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt31
1 files changed, 31 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1bec6d1d70..edf8ee6ddc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -143,11 +143,35 @@ if(BUILD_TF_LITE_PARSER)
target_include_directories(armnnTfLiteParser PRIVATE src/armnn)
target_include_directories(armnnTfLiteParser PRIVATE src/armnnUtils)
+ target_include_directories(armnnTfLiteParser SYSTEM PRIVATE "${TF_LITE_SCHEMA_INCLUDE_PATH}")
target_link_libraries(armnnTfLiteParser ${Boost_FILESYSTEM_LIBRARY} ${Boost_THREAD_LIBRARY})
target_link_libraries(armnnTfLiteParser armnn ${FLATBUFFERS_LIBRARY})
endif()
+if(BUILD_ARMNN_SERIALIZER)
+ add_custom_command (
+ OUTPUT src/armnnSerializer/Schema_generated.h
+ COMMAND ${FLATC_DIR}/flatc -o ${CMAKE_CURRENT_BINARY_DIR}/src/armnnSerializer --cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/armnnSerializer/Schema.fbs
+ )
+
+ set(armnn_serializer_sources)
+ list(APPEND armnn_serializer_sources
+ src/armnnSerializer/Schema_generated.h
+ )
+
+ add_library_ex(armnnSerializer SHARED ${armnn_serializer_sources})
+
+ target_include_directories(armnnSerializer PRIVATE src/armnn)
+ target_include_directories(armnnSerializer PRIVATE src/armnnUtils)
+
+ # System include to suppress warnings for flatbuffers generated files
+ target_include_directories(armnnSerializer SYSTEM PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src/armnnSerializer)
+
+ target_link_libraries(armnnSerializer armnn ${FLATBUFFERS_LIBRARY})
+endif()
+
list(APPEND armnn_sources
include/armnn/ArmNN.hpp
include/armnn/BackendId.hpp
@@ -362,6 +386,9 @@ endif()
if(BUILD_TF_LITE_PARSER)
install(TARGETS armnnTfLiteParser DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
endif()
+if(BUILD_ARMNN_SERIALIZER)
+ install(TARGETS armnnSerializer DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
+endif()
install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_PREFIX}/include)
target_link_libraries(armnn ${Boost_LOG_LIBRARY} ${Boost_THREAD_LIBRARY} ${Boost_SYSTEM_LIBRARY})
@@ -533,6 +560,10 @@ if(BUILD_UNIT_TESTS)
target_include_directories(UnitTests PRIVATE src/armnnUtils)
target_include_directories(UnitTests PRIVATE src/backends)
+ if(BUILD_TF_LITE_PARSER)
+ target_include_directories(UnitTests SYSTEM PRIVATE "${TF_LITE_SCHEMA_INCLUDE_PATH}")
+ endif()
+
if(VALGRIND_FOUND)
if(HEAP_PROFILING OR LEAK_CHECKING)
message("Valgrind is disabled for heap profiling and leak checking builds.")