1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
if (NOT SNPE_ARCH_ABI)
if(MSVC)
string(TOLOWER ${CMAKE_GENERATOR_PLATFORM} GEN_PLATFORM)
message(STATUS "Building MSVC for architecture ${CMAKE_SYSTEM_PROCESSOR} with CMAKE_GENERATOR_PLATFORM as ${GEN_PLATFORM}")
if (${GEN_PLATFORM} STREQUAL "arm64")
set(SNPE_ARCH_ABI aarch64-windows-vc19)
else()
set(SNPE_ARCH_ABI x86_64-windows-vc19)
endif()
else()
if (CMAKE_SYSTEM_NAME STREQUAL "Android")
set(SNPE_ARCH_ABI aarch64-android-clang6.0)
elseif (LINUX)
if (${GEN_PLATFORM} STREQUAL "x64")
set(SNPE_ARCH_ABI x86_64-linux-clang)
else()
set(SNPE_ARCH_ABI aarch64-linux-gcc4.9)
endif()
endif()
endif()
list(APPEND onnxruntime_LINK_DIRS ${SNPE_ROOT}/lib/${SNPE_ARCH_ABI})
endif()
file(TO_CMAKE_PATH ${SNPE_ROOT} SNPE_ROOT)
get_filename_component(SNPE_CMAKE_DIR ${SNPE_ROOT} ABSOLUTE)
file(TO_CMAKE_PATH "${SNPE_CMAKE_DIR}/lib/${SNPE_ARCH_ABI}" SNPE_LIB_DIR)
file(TO_NATIVE_PATH ${SNPE_LIB_DIR} SNPE_NATIVE_DIR)
message(STATUS "Looking for SNPE library in ${SNPE_NATIVE_DIR}")
find_library(SNPE NAMES snpe SNPE libSNPE.so PATHS "${SNPE_NATIVE_DIR}" "${SNPE_ROOT}" NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH REQUIRED)
file(GLOB SNPE_SO_FILES LIST_DIRECTORIES false "${SNPE_CMAKE_DIR}/lib/${SNPE_ARCH_ABI}/*.so" "${SNPE_CMAKE_DIR}/lib/${SNPE_ARCH_ABI}/*.dll")
# add dsp skel files to distribution
file(GLOB SNPE_DSP_FILES LIST_DIRECTORIES false "${SNPE_CMAKE_DIR}/lib/dsp/*.so")
list(APPEND SNPE_SO_FILES ${QCDK_FILES} ${SNPE_DSP_FILES})
if(NOT SNPE OR NOT SNPE_SO_FILES)
message(ERROR "Snpe not found in ${SNPE_CMAKE_DIR}/lib/${SNPE_ARCH_ABI} for platform ${CMAKE_GENERATOR_PLATFORM}")
endif()
set(SNPE_NN_LIBS ${SNPE})
if(ANDROID)
# Use libc++_shared.so from SNPE SDK
list(APPEND SNPE_NN_LIBS libc++_shared.so)
endif()
message(STATUS "SNPE library at ${SNPE}")
message(STATUS "SNPE so/dlls in ${SNPE_SO_FILES}")
|