blob: af2262d5fad977d78d448fa8efd8cdbfea66ca77 [file] [log] [blame]
Ruomei Yandb7c3912019-03-08 17:50:25 +00001#
2# Copyright © 2017 Arm Ltd. All rights reserved.
3# SPDX-License-Identifier: MIT
4#
5if(BUILD_ARMNN_SERIALIZER)
Matteo Martincigh286080f2019-05-31 13:02:11 +01006 add_custom_command(
7 # Generate an ArmnnSchema_generated.h file if it doesn't exist, or update it when necessary otherwise
8 OUTPUT ArmnnSchema_generated.h DEPENDS ArmnnSchema.fbs
9 COMMAND ${FLATC_DIR}/flatc -o ${CMAKE_CURRENT_BINARY_DIR} --cpp ${CMAKE_CURRENT_SOURCE_DIR}/ArmnnSchema.fbs
Ruomei Yandb7c3912019-03-08 17:50:25 +000010 )
11
12 set(armnn_serializer_sources)
13 list(APPEND armnn_serializer_sources
14 ../../include/armnnSerializer/ISerializer.hpp
15 ../../include/armnnDeserializer/IDeserializer.hpp
16 ArmnnSchema_generated.h
17 Serializer.hpp
18 Serializer.cpp
19 SerializerUtils.hpp
20 SerializerUtils.cpp
21 ../armnnDeserializer/Deserializer.hpp
22 ../armnnDeserializer/Deserializer.cpp
23 )
24
25 add_library_ex(armnnSerializer SHARED ${armnn_serializer_sources})
26
27 include_directories(SYSTEM "${FLATBUFFERS_INCLUDE_PATH}")
28 set_target_properties(armnnSerializer PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})
29 target_include_directories(armnnSerializer PRIVATE ../armnn)
30 target_include_directories(armnnSerializer PRIVATE ../armnnUtils)
31
32 # System include to suppress warnings for flatbuffers generated files
33 target_include_directories(armnnSerializer SYSTEM PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
34
35 target_link_libraries(armnnSerializer armnn ${FLATBUFFERS_LIBRARY})
Matthew Benthama7b79282019-06-03 13:00:50 +010036
37 install(TARGETS armnnSerializer
38 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
39endif()