1#[[ 2/* 3* Copyright (c) 2024 MediaTek Inc. 4* 5* Licensed under the BSD License (the "License"); you may not use this file 6* except in compliance with the License. See the license file in the root 7* directory of this source tree for more details. 8*/ 9]] 10 11# Let include directory as "executorch/..." 12set(_common_include_directories ${CMAKE_CURRENT_SOURCE_DIR}/../../..) 13set(NEURON_BUFFER_ALLOCATOR_LIB 14 "" 15 CACHE PATH "Path to Neuron Buffer Allocator library" 16) 17message( 18 STATUS "Looking for neuron_buffer_allocator in ${NEURON_BUFFER_ALLOCATOR_LIB}" 19) 20 21include_directories(BEFORE ${_common_include_directories}) 22 23# shortcut include directory for neuron headers 24include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/runtime/include) 25 26# targets 27add_library(neuron_backend SHARED) 28target_compile_options(neuron_backend PRIVATE "-frtti" "-fexceptions") 29target_link_libraries(neuron_backend 30 PRIVATE 31 executorch_core 32 android 33 log 34 ${NEURON_BUFFER_ALLOCATOR_LIB} 35) 36target_sources( 37 neuron_backend 38 INTERFACE ${CMAKE_CURRENT_LIST_DIR}/runtime/include/NeuronBackend.h 39 ${CMAKE_CURRENT_LIST_DIR}/runtime/include/NeuronBufferAllocator.h 40 ${CMAKE_CURRENT_LIST_DIR}/runtime/include/NeuronExecutor.h 41 ${CMAKE_CURRENT_LIST_DIR}/runtime/include/NeuronLog.h 42 ${CMAKE_CURRENT_LIST_DIR}/runtime/include/api/APUWareUtilsLib.h 43 ${CMAKE_CURRENT_LIST_DIR}/runtime/include/api/NeuronAdapterShim.h 44 PRIVATE ${CMAKE_CURRENT_LIST_DIR}/runtime/NeuronBackend.cpp 45 ${CMAKE_CURRENT_LIST_DIR}/runtime/NeuronExecutor.cpp 46) 47target_link_options_shared_lib(neuron_backend) 48 49install(TARGETS neuron_backend DESTINATION lib) 50