nnfw_include(ExtendCMakeFunction)
+add_library(nnapi-header INTERFACE)
+target_include_directories(nnapi-header INTERFACE include)
+
# TODO For now Android build is being enabled incrementally so not all subdirectories are added yet.
# However we are going to have the same subdirectories with other OS eventually.
if("${TARGET_OS}" STREQUAL "android")
add_library(nnfw_lib_tflite STATIC ${SOURCES})
set_target_properties(nnfw_lib_tflite PROPERTIES POSITION_INDEPENDENT_CODE ON)
-target_include_directories(nnfw_lib_tflite PUBLIC ${NNFW_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/include)
+target_include_directories(nnfw_lib_tflite PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
+target_link_libraries(nnfw_lib_tflite nnapi-header)
target_link_libraries(nnfw_lib_tflite tensorflow-lite ${LIB_PTHREAD} dl)
target_link_libraries(nnfw_lib_tflite nnfw_lib_misc)
target_compile_options(nnfw_lib_tflite PRIVATE -Wall -Wextra -Werror)
file(GLOB_RECURSE NNAPI_LOGGING_SRCS "src/*.cc")
add_library(neuralnetworks SHARED ${NNAPI_LOGGING_SRCS})
-target_include_directories(neuralnetworks PUBLIC ${NNFW_INCLUDE_DIR})
target_include_directories(neuralnetworks PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include)
+target_link_libraries(neuralnetworks PUBLIC nnapi-header)
set(SOURCES ${SOURCES} ${SOURCES_FRONTEND} ${SOURCES_BACKEND} ${SOURCES_GRAPH} ${SOURCES_LINEAR} ${SOURCES_DUMPER} ${SOURCES_COMPILER} ${SOURCES_EXEC} ${SOURCES_VERIFIER} ${SOURCES_UTIL} ${SOURCES_MODEL})
add_library(${LIB_NEURUN} SHARED ${SOURCES})
-target_include_directories(${LIB_NEURUN} PUBLIC ${NNFW_INCLUDE_DIR})
target_include_directories(${LIB_NEURUN} PUBLIC ${NEURUN_INCLUDE_DIR})
target_include_directories(${LIB_NEURUN} PUBLIC ${CMAKE_SOURCE_DIR}/externals/tensorflow)
+target_link_libraries(${LIB_NEURUN} nnapi-header)
target_link_libraries(${LIB_NEURUN} tensorflow-lite)
target_link_libraries(${LIB_NEURUN} nnfw_lib_misc)
target_link_libraries(${LIB_NEURUN} nnfw_lib_cpp14)
add_library(${LIB_NEURUN_BACKEND_ACL_CL} SHARED ${SOURCES})
-target_include_directories(${LIB_NEURUN_BACKEND_ACL_CL} PUBLIC ${NNFW_INCLUDE_DIR})
target_include_directories(${LIB_NEURUN_BACKEND_ACL_CL} PUBLIC ${NEURUN_INCLUDE_DIR})
+target_link_libraries(${LIB_NEURUN_BACKEND_ACL_CL} nnapi-header)
target_link_libraries(${LIB_NEURUN_BACKEND_ACL_CL} arm_compute)
target_link_libraries(${LIB_NEURUN_BACKEND_ACL_CL} arm_compute_ex)
target_link_libraries(${LIB_NEURUN_BACKEND_ACL_CL} ${LIB_NEURUN_KERNEL_ACL_CL})
add_library(${LIB_NEURUN_KERNEL_ACL_CL} STATIC ${SOURCES})
-target_include_directories(${LIB_NEURUN_KERNEL_ACL_CL} PUBLIC ${NNFW_INCLUDE_DIR})
target_include_directories(${LIB_NEURUN_KERNEL_ACL_CL} PUBLIC ${NEURUN_INCLUDE_DIR})
+target_link_libraries(${LIB_NEURUN_KERNEL_ACL_CL} nnapi-header)
target_link_libraries(${LIB_NEURUN_KERNEL_ACL_CL} arm_compute)
target_link_libraries(${LIB_NEURUN_KERNEL_ACL_CL} nnfw_lib_misc)
add_library(${LIB_NEURUN_BACKEND_CPU} SHARED ${SOURCES})
-target_include_directories(${LIB_NEURUN_BACKEND_CPU} PUBLIC ${NNFW_INCLUDE_DIR})
target_include_directories(${LIB_NEURUN_BACKEND_CPU} PUBLIC ${NEURUN_INCLUDE_DIR})
target_include_directories(${LIB_NEURUN_BACKEND_CPU} PUBLIC ${CMAKE_SOURCE_DIR}/externals/tensorflow)
+target_link_libraries(${LIB_NEURUN_BACKEND_CPU} nnapi-header)
target_link_libraries(${LIB_NEURUN_BACKEND_CPU} tensorflow-lite)
target_link_libraries(${LIB_NEURUN_BACKEND_CPU} nnfw_lib_misc)
target_link_libraries(${LIB_NEURUN_BACKEND_CPU} nnfw_lib_cpp14)
add_library(${LIB_NEURUN_KERNEL_CPU} STATIC ${SOURCES})
-target_include_directories(${LIB_NEURUN_KERNEL_CPU} PUBLIC ${NNFW_INCLUDE_DIR})
target_include_directories(${LIB_NEURUN_KERNEL_CPU} PUBLIC ${NEURUN_INCLUDE_DIR})
target_include_directories(${LIB_NEURUN_KERNEL_CPU} PUBLIC ${CMAKE_SOURCE_DIR}/externals/tensorflow)
+target_link_libraries(${LIB_NEURUN_KERNEL_CPU} nnapi-header)
target_link_libraries(${LIB_NEURUN_KERNEL_CPU} tensorflow-lite)
target_link_libraries(${LIB_NEURUN_KERNEL_CPU} nnfw_lib_misc)
add_library(nnapi_pure_arm_compute SHARED ${SOURCES})
# To ignore compiler warnings from ARM Compute Library
target_compile_options(nnapi_pure_arm_compute PRIVATE -Wno-ignored-attributes)
-target_include_directories(nnapi_pure_arm_compute PUBLIC ${NNFW_INCLUDE_DIR})
target_include_directories(nnapi_pure_arm_compute PUBLIC src)
if(BUILD_TFLITE_BENCHMARK_MODEL)
target_compile_definitions(nnapi_pure_arm_compute PUBLIC "TFLITE_PROFILING_ENABLED")
endif()
+target_link_libraries(nnapi_pure_arm_compute nnapi-header)
target_link_libraries(nnapi_pure_arm_compute arm_compute arm_compute_ex)
target_link_libraries(nnapi_pure_arm_compute nnfw_lib_cpp14 nnfw_lib_misc nnfw_lib_profiling)
nnfw_find_package(GTest)
-set(RUNTIME_NNAPI_TEST_SRC_INC ${NNFW_INCLUDE_DIR}
- ${CMAKE_CURRENT_SOURCE_DIR}/include
+set(RUNTIME_NNAPI_TEST_SRC_INC ${CMAKE_CURRENT_SOURCE_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}/src)
target_include_directories(${RUNTIME_NNAPI_TEST} PRIVATE ${RUNTIME_NNAPI_TEST_SRC_INC})
elseif (BUILD_PURE_ARM_COMPUTE)
set(SKIPLIST_FILE_NAME ${RUNTIME_NNAPI_TEST}.skip.${TARGET_PLATFORM})
endif()
+target_link_libraries(${RUNTIME_NNAPI_TEST} nnapi-header)
target_link_libraries(${RUNTIME_NNAPI_TEST} gtest)
target_link_libraries(${RUNTIME_NNAPI_TEST} ${LIB_PTHREAD} dl)