2 # Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
3 # SPDX-License-Identifier: MIT
5 if(BUILD_ARMNN_DESERIALIZER)
6 find_program(FLATC flatc
8 DOC "Path to 'flatc', the flatbuffers compiler")
10 message(SEND_ERROR "flatc not found. Specify the full path of the flatc executable with -DFLATC=<flatc path>")
14 # Generate an ArmnnSchema_generated.h file if it doesn't exist, or update it when necessary otherwise
15 OUTPUT ArmnnSchema_generated.h DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../armnnSerializer/ArmnnSchema.fbs
16 COMMAND ${FLATC} -o ${CMAKE_CURRENT_BINARY_DIR} --cpp ${CMAKE_CURRENT_SOURCE_DIR}/../armnnSerializer/ArmnnSchema.fbs
19 set(armnn_deserializer_sources)
20 list(APPEND armnn_deserializer_sources
21 ArmnnSchema_generated.h
26 add_library_ex(armnnDeserializer SHARED ${armnn_deserializer_sources})
28 include_directories(SYSTEM "${FLATBUFFERS_INCLUDE_PATH}")
29 set_target_properties(armnnDeserializer PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})
30 target_include_directories(armnnDeserializer PRIVATE ../armnn)
31 target_include_directories(armnnDeserializer PRIVATE ../armnnUtils)
33 # System include to suppress warnings for flatbuffers generated files
34 target_include_directories(armnnDeserializer SYSTEM PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
36 target_link_libraries(armnnDeserializer armnn ${FLATBUFFERS_LIBRARY})
38 install(TARGETS armnnDeserializer
40 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
41 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
43 set_target_properties(armnnDeserializer PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION} )