1*89c4ff92SAndroid Build Coastguard Worker# Copyright © 2020 Arm Ltd and Contributors. All rights reserved. 2*89c4ff92SAndroid Build Coastguard Worker# SPDX-License-Identifier: MIT 3*89c4ff92SAndroid Build Coastguard Worker# Search for ArmNN built libraries in user-provided path first, then current repository, then system 4*89c4ff92SAndroid Build Coastguard Worker 5*89c4ff92SAndroid Build Coastguard Workerif( USE_ARMNN_DELEGATE ) 6*89c4ff92SAndroid Build Coastguard Worker set(ARMNN_LIB_NAMES "libarmnn.so" 7*89c4ff92SAndroid Build Coastguard Worker "libarmnnDelegate.so") 8*89c4ff92SAndroid Build Coastguard Workerelse() 9*89c4ff92SAndroid Build Coastguard Worker set(ARMNN_LIB_NAMES "libarmnn.so" 10*89c4ff92SAndroid Build Coastguard Worker "libarmnnTfLiteParser.so") 11*89c4ff92SAndroid Build Coastguard Workerendif() 12*89c4ff92SAndroid Build Coastguard Worker 13*89c4ff92SAndroid Build Coastguard Workerset(ARMNN_LIBS "") 14*89c4ff92SAndroid Build Coastguard Worker 15*89c4ff92SAndroid Build Coastguard Workerget_filename_component(PARENT_DIR ${PROJECT_SOURCE_DIR} DIRECTORY) 16*89c4ff92SAndroid Build Coastguard Workerget_filename_component(REPO_DIR ${PARENT_DIR} DIRECTORY) 17*89c4ff92SAndroid Build Coastguard Worker 18*89c4ff92SAndroid Build Coastguard Workerforeach(armnn_lib ${ARMNN_LIB_NAMES}) 19*89c4ff92SAndroid Build Coastguard Worker find_library(ARMNN_${armnn_lib} 20*89c4ff92SAndroid Build Coastguard Worker NAMES 21*89c4ff92SAndroid Build Coastguard Worker ${armnn_lib} 22*89c4ff92SAndroid Build Coastguard Worker HINTS 23*89c4ff92SAndroid Build Coastguard Worker ${ARMNN_LIB_DIR} ${REPO_DIR} 24*89c4ff92SAndroid Build Coastguard Worker PATHS 25*89c4ff92SAndroid Build Coastguard Worker ${ARMNN_LIB_DIR} ${REPO_DIR} 26*89c4ff92SAndroid Build Coastguard Worker PATH_SUFFIXES 27*89c4ff92SAndroid Build Coastguard Worker "lib" 28*89c4ff92SAndroid Build Coastguard Worker "lib64") 29*89c4ff92SAndroid Build Coastguard Worker if(ARMNN_${armnn_lib}) 30*89c4ff92SAndroid Build Coastguard Worker message("Found library ${ARMNN_${armnn_lib}}") 31*89c4ff92SAndroid Build Coastguard Worker list(APPEND ARMNN_LIBS ${ARMNN_${armnn_lib}}) 32*89c4ff92SAndroid Build Coastguard Worker get_filename_component(LIB_DIR ${ARMNN_${armnn_lib}} DIRECTORY) 33*89c4ff92SAndroid Build Coastguard Worker get_filename_component(LIB_PARENT_DIR ${LIB_DIR} DIRECTORY) 34*89c4ff92SAndroid Build Coastguard Worker if( USE_ARMNN_DELEGATE ) 35*89c4ff92SAndroid Build Coastguard Worker set(ARMNN_INCLUDE_DIR ${LIB_PARENT_DIR}/include 36*89c4ff92SAndroid Build Coastguard Worker ${PARENT_DIR}/../delegate/include 37*89c4ff92SAndroid Build Coastguard Worker ${PARENT_DIR}/../delegate/src) 38*89c4ff92SAndroid Build Coastguard Worker else() 39*89c4ff92SAndroid Build Coastguard Worker set(ARMNN_INCLUDE_DIR ${LIB_PARENT_DIR}/include) 40*89c4ff92SAndroid Build Coastguard Worker endif() 41*89c4ff92SAndroid Build Coastguard Worker endif() 42*89c4ff92SAndroid Build Coastguard Workerendforeach() 43*89c4ff92SAndroid Build Coastguard Worker 44*89c4ff92SAndroid Build Coastguard Workerif(NOT ARMNN_LIBS) 45*89c4ff92SAndroid Build Coastguard Worker message(FATAL_ERROR "Could not find ArmNN libraries ${ARMNN_LIB_NAMES}") 46*89c4ff92SAndroid Build Coastguard Workerendif() 47