Imported Upstream version 1.25.0
[platform/core/ml/nnfw.git] / compiler / mio-circle05 / CMakeLists.txt
1 nnas_find_package(FlatBuffers EXACT 2.0 QUIET)
2
3 if(NOT FlatBuffers_FOUND)
4   message(STATUS "mio-circle05 skip: FlatBuffers 2.0 NOT FOUND")
5   return()
6 endif(NOT FlatBuffers_FOUND)
7
8 message(STATUS "Build mio-circle05: TRUE")
9
10 # TODO Find a better way
11 # TODO use nnpackage
12 # set(SCHEMA_FILE "${NNAS_PROJECT_SOURCE_DIR}/nnpackage/schema/circle_schema.fbs")
13 set(SCHEMA_FILE "${NNAS_PROJECT_SOURCE_DIR}/res/CircleSchema/0.5/circle_schema.fbs")
14
15 # NOTE Copy circle_schema.fbs as schema.fbs to generate "schema_generated.fbs" instead of "circle_schema_generated.fbs"
16 add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/schema.fbs"
17   COMMAND ${CMAKE_COMMAND} -E copy "${SCHEMA_FILE}" schema.fbs
18   WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
19   DEPENDS "${SCHEMA_FILE}"
20 )
21
22 FlatBuffers_Target(mio_circle05
23   OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/gen/mio/circle"
24   INCLUDE_DIR "${CMAKE_CURRENT_BINARY_DIR}/gen"
25   SCHEMA_DIR "${CMAKE_CURRENT_BINARY_DIR}"
26   SCHEMA_FILES "schema.fbs"
27 )
28
29 # This example shows how to use "mio-circle05" library
30 add_executable(mio_circle05_example example.cpp)
31 target_link_libraries(mio_circle05_example mio_circle05)
32
33 file(GLOB_RECURSE SOURCES "src/*.cpp")
34 file(GLOB_RECURSE TESTS "src/*.test.cpp")
35 list(REMOVE_ITEM SOURCES ${TESTS})
36
37 add_library(mio_circle05_helper STATIC ${SOURCES})
38 set_target_properties(mio_circle05_helper PROPERTIES POSITION_INDEPENDENT_CODE ON)
39 target_include_directories(mio_circle05_helper PRIVATE src)
40 target_include_directories(mio_circle05_helper PUBLIC include)
41 target_link_libraries(mio_circle05_helper mio_circle05)
42
43 if(NOT ENABLE_TEST)
44   return()
45 endif(NOT ENABLE_TEST)
46
47 nnas_find_package(GTest REQUIRED)
48
49 GTest_AddTest(mio_circle05_helper_test ${TESTS})
50 target_include_directories(mio_circle05_helper_test PRIVATE src)
51 target_link_libraries(mio_circle05_helper_test mio_circle05)
52 target_link_libraries(mio_circle05_helper_test mio_circle05_helper)