-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* move code used to find the SNPE libs to a separate cmake file * Roll back the change for libc++_shared, it's the one from SNPE SDK, otherwise it will cause uncaught exception of type std::bad_cast because of conflict
- Loading branch information
Showing
3 changed files
with
48 additions
and
38 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,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}") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters