aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/armnnDeserializer/CMakeLists.txt44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/armnnDeserializer/CMakeLists.txt b/src/armnnDeserializer/CMakeLists.txt
new file mode 100755
index 0000000000..63917fccf8
--- /dev/null
+++ b/src/armnnDeserializer/CMakeLists.txt
@@ -0,0 +1,44 @@
+#
+# Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
+# SPDX-License-Identifier: MIT
+#
+if(BUILD_ARMNN_DESERIALIZER)
+ find_program(FLATC flatc
+ HINTS ${FLATC_DIR}
+ DOC "Path to 'flatc', the flatbuffers compiler")
+ if (NOT FLATC)
+ message(SEND_ERROR "flatc not found. Specify the full path of the flatc executable with -DFLATC=<flatc path>")
+ endif()
+
+ add_custom_command(
+ # Generate an ArmnnSchema_generated.h file if it doesn't exist, or update it when necessary otherwise
+ OUTPUT ArmnnSchema_generated.h DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../armnnSerializer/ArmnnSchema.fbs
+ COMMAND ${FLATC} -o ${CMAKE_CURRENT_BINARY_DIR} --cpp ${CMAKE_CURRENT_SOURCE_DIR}/../armnnSerializer/ArmnnSchema.fbs
+ )
+
+ set(armnn_deserializer_sources)
+ list(APPEND armnn_deserializer_sources
+ ArmnnSchema_generated.h
+ Deserializer.hpp
+ Deserializer.cpp
+ )
+
+ add_library_ex(armnnDeserializer SHARED ${armnn_deserializer_sources})
+
+ include_directories(SYSTEM "${FLATBUFFERS_INCLUDE_PATH}")
+ set_target_properties(armnnDeserializer PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})
+ target_include_directories(armnnDeserializer PRIVATE ../armnn)
+ target_include_directories(armnnDeserializer PRIVATE ../armnnUtils)
+
+ # System include to suppress warnings for flatbuffers generated files
+ target_include_directories(armnnDeserializer SYSTEM PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
+
+ target_link_libraries(armnnDeserializer armnn ${FLATBUFFERS_LIBRARY})
+
+ install(TARGETS armnnDeserializer
+ EXPORT armnn-targets
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ )
+ set_target_properties(armnnDeserializer PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )
+endif()