nnas_include(AddSubdirectories)
-add_library(nnfw-header INTERFACE)
-target_include_directories(nnfw-header INTERFACE ${NNAS_PROJECT_SOURCE_DIR}/runtimes/include)
-
add_subdirectory(${NNAS_PROJECT_SOURCE_DIR}/compute compute)
-add_subdirectory(${NNAS_PROJECT_SOURCE_DIR}/runtimes/contrib contrib)
-add_subdirectory(${NNAS_PROJECT_SOURCE_DIR}/runtimes/libs libs)
add_subdirectory(${NNAS_PROJECT_SOURCE_DIR}/runtimes runtimes)
add_subdirectory(${NNAS_PROJECT_SOURCE_DIR}/tests tests)
add_subdirectory(${NNAS_PROJECT_SOURCE_DIR}/tools tools)
%ifarch arm armv7l aarch64
%{build_options} make install
-# copy header's for devel
-mkdir -p %{buildroot}%{_includedir}
-cp -rf runtimes/include/* %{buildroot}%{_includedir}
-
%ifarch aarch64
mv %{buildroot}%{_prefix}/lib %{buildroot}%{_libdir}
%endif
-if(BUILD_NEURUN)
- add_subdirectory(neurun)
-endif(BUILD_NEURUN)
-
-if(BUILD_PURE_ARM_COMPUTE)
- add_subdirectory(pure_arm_compute)
-endif()
-
-if(BUILD_LOGGING)
- add_subdirectory(logging)
-endif(BUILD_LOGGING)
+add_subdirectories()
add_library(nnfw_lib_nnapi_1_1 INTERFACE)
target_include_directories(nnfw_lib_nnapi_1_1 INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/include)
-target_link_libraries(nnfw_lib_nnapi_1_1 INTERFACE nnfw-header)
+target_link_libraries(nnfw_lib_nnapi_1_1 INTERFACE nnfw-nnapi-header)
add_library(nnfw_lib_nnapi_1_2 INTERFACE)
target_include_directories(nnfw_lib_nnapi_1_2 INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/include)
-target_link_libraries(nnfw_lib_nnapi_1_2 INTERFACE nnfw-header)
+target_link_libraries(nnfw_lib_nnapi_1_2 INTERFACE nnfw-nnapi-header)
+if(NOT BUILD_LOGGING)
+ return()
+endif(NOT BUILD_LOGGING)
+
file(GLOB_RECURSE NNAPI_LOGGING_SRCS "src/*.cc")
nnas_find_package(Boost REQUIRED)
add_library(neuralnetworks SHARED ${NNAPI_LOGGING_SRCS})
target_include_directories(neuralnetworks PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include)
target_include_directories(neuralnetworks PRIVATE ${Boost_INCLUDE_DIRS})
-target_link_libraries(neuralnetworks PUBLIC nnfw-header)
+target_link_libraries(neuralnetworks PUBLIC nnfw-nnapi-header)
+if(NOT BUILD_NEURUN)
+ return()
+endif(NOT BUILD_NEURUN)
+
# Add cpu
# TODO Remove this variable as adding include dirs is done with target_link_libraries
set(NEURUN_DEV nnfw-dev)
add_library(${NEURUN_DEV} SHARED ${API_SRC})
-target_link_libraries(${NEURUN_DEV} PUBLIC nnfw-header)
-target_link_libraries(${NEURUN_DEV} PUBLIC neurun_core) # TODO Link PRIVATE neurun_core
+# Public headers to publish
+set(NNFW_API_HEADERS include/nnfw.h include/nnfw_dev.h)
+
+target_link_libraries(${NEURUN_DEV} PUBLIC nnfw-nnapi-header)
+target_link_libraries(${NEURUN_DEV} PRIVATE neurun_core)
target_link_libraries(${NEURUN_DEV} PRIVATE jsoncpp tflite_loader circle_loader ${LIB_PTHREAD})
target_link_libraries(${NEURUN_DEV} PRIVATE nnfw_common)
target_link_libraries(${NEURUN_DEV} PRIVATE nnfw_coverage)
-install(TARGETS ${NEURUN_DEV} DESTINATION lib)
+target_include_directories(${NEURUN_DEV} PUBLIC include)
+set_target_properties(${NEURUN_DEV} PROPERTIES PUBLIC_HEADER "${NNFW_API_HEADERS}")
+
+install(TARGETS ${NEURUN_DEV}
+ LIBRARY DESTINATION lib
+ PUBLIC_HEADER DESTINATION include)
target_compile_definitions(neurun_core PRIVATE ENVVAR_FOR_DEFAULT_CONFIG)
endif(ENVVAR_NEURUN_CONFIG)
-target_link_libraries(neurun_core PUBLIC nnfw-header) # To be removed later
+target_link_libraries(neurun_core PUBLIC nnfw-nnapi-header) # To be removed later
set(LIB_NEURUN neurun)
add_library(${LIB_NEURUN} SHARED ${SOURCES_FRONTEND})
-target_link_libraries(${LIB_NEURUN} PUBLIC nnfw-header)
+target_link_libraries(${LIB_NEURUN} PUBLIC nnfw-nnapi-header)
target_link_libraries(${LIB_NEURUN} PUBLIC neurun_core) # TODO Link PRIVATE neurun_core
target_link_libraries(${LIB_NEURUN} PRIVATE nnfw_common)
target_link_libraries(${LIB_NEURUN} PRIVATE nnfw_coverage)
--- /dev/null
+add_library(nnfw-nnapi-header INTERFACE)
+target_include_directories(nnfw-nnapi-header INTERFACE include)
+
+set(NNFW_NNAPI_HEADERS ${CMAKE_CURRENT_LIST_DIR}/include/NeuralNetworks.h
+ ${CMAKE_CURRENT_LIST_DIR}/include/NeuralNetworksEx.h
+ ${CMAKE_CURRENT_LIST_DIR}/include/NeuralNetworksExtensions.h)
+
+install(FILES ${NNFW_NNAPI_HEADERS} DESTINATION include)
if(BUILD_TFLITE_BENCHMARK_MODEL)
target_compile_definitions(nnapi_pure_arm_compute PUBLIC "TFLITE_PROFILING_ENABLED")
endif()
-target_link_libraries(nnapi_pure_arm_compute nnfw-header)
+target_link_libraries(nnapi_pure_arm_compute nnfw-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)
)
add_executable(${NAME} ${PARSED_ARGS_SOURCES})
target_link_libraries(${NAME} PRIVATE ${PARSED_ARGS_KERNELS})
- target_link_libraries(${NAME} PRIVATE nnfw-header nnfw-dev)
+ target_link_libraries(${NAME} PRIVATE nnfw-nnapi-header nnfw-dev)
target_link_libraries(${NAME} PRIVATE dl ${LIB_PTHREAD})
endfunction()
function(add_nnfw_kernel NAME)
add_library(${NAME} STATIC ${ARGN})
- target_link_libraries(${NAME} PRIVATE nnfw-header nnfw-dev)
+ target_link_libraries(${NAME} PRIVATE nnfw-nnapi-header nnfw-dev)
target_link_libraries(${NAME} PRIVATE flatbuffers)
endfunction()