1 file(GLOB_RECURSE SOURCES "src/*.cc")
2 file(GLOB_RECURSE TESTS "*.test.cc")
3 list(REMOVE_ITEM SOURCES ${TESTS})
5 nnfw_find_package(Ruy REQUIRED)
7 add_library(onert_core SHARED ${SOURCES})
8 set_target_properties(onert_core PROPERTIES POSITION_INDEPENDENT_CODE ON)
11 # We publish public headers into developer package.
12 # To avoid mistake using private header in public header, do not define
13 # private target_include_directories scope for src/ directory.
14 target_include_directories(onert_core PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
16 target_link_libraries(onert_core PRIVATE jsoncpp half)
17 target_link_libraries(onert_core PRIVATE nnfw_lib_misc nnfw_lib_cker)
18 target_link_libraries(onert_core PRIVATE nnfw_common)
19 target_link_libraries(onert_core PRIVATE nnfw_coverage)
20 target_link_libraries(onert_core PRIVATE dl ${LIB_PTHREAD})
21 target_link_libraries(onert_core PRIVATE ruy)
22 target_link_libraries(onert_core INTERFACE ruy_instrumentation)
24 if(CMAKE_BUILD_TYPE_LC STREQUAL "release")
25 add_custom_command(TARGET onert_core POST_BUILD
26 COMMAND ${CMAKE_STRIP} "--strip-unneeded" $<TARGET_FILE_NAME:onert_core>)
29 # NOTE Below line is added to remove warning for android build
30 # It will be removed after android build uses gold linker
32 target_link_libraries(onert_core INTERFACE log)
35 if(ENVVAR_ONERT_CONFIG)
36 target_compile_definitions(onert_core PRIVATE ENVVAR_FOR_DEFAULT_CONFIG)
37 endif(ENVVAR_ONERT_CONFIG)
39 install(TARGETS onert_core LIBRARY DESTINATION lib)
40 install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/include/"
41 DESTINATION "include/onert"
42 FILES_MATCHING PATTERN "*.h" PATTERN "*.lst"
47 endif(NOT ENABLE_TEST)
50 set(TEST_ONERT_CORE test_onert_core)
52 add_executable(${TEST_ONERT_CORE} ${TESTS})
54 target_link_libraries(${TEST_ONERT_CORE} onert_core)
55 # Requires linking nnfw_coverage: check header coverage
56 target_link_libraries(${TEST_ONERT_CORE} nnfw_coverage)
57 target_link_libraries(${TEST_ONERT_CORE} gtest gtest_main dl ${LIB_PTHREAD})
59 add_test(${TEST_ONERT_CORE} ${TEST_ONERT_CORE})
60 install(TARGETS ${TEST_ONERT_CORE} DESTINATION unittest)