microsoft/onnxruntime-extensions

Public

mirrored fromhttps://github.com/microsoft/onnxruntime-extensionsAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
df7a9f337c69567dc9c58400d3ec8004bcafb794

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

cmake/ext_ortlib.cmake

73lines · modecode

1if(_ONNXRUNTIME_EMBEDDED)
2 set(ONNXRUNTIME_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/../include/onnxruntime/core/session)
3 set(ONNXRUNTIME_LIB_DIR "")
4elseif(ONNXRUNTIME_PKG_DIR)
5 set(ONNXRUNTIME_INCLUDE_DIR ${ONNXRUNTIME_PKG_DIR}/include)
6 set(ONNXRUNTIME_LIB_DIR ${ONNXRUNTIME_PKG_DIR}/lib)
7else()
8 message(STATUS "CMAKE_SYSTEM_PROCESSOR=${CMAKE_SYSTEM_PROCESSOR}")
9 message(STATUS "CMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}")
10
11 # 1.15.1 is the latest ORT release.
12 if (OCOS_ONNXRUNTIME_VERSION)
13 set(ONNXRUNTIME_VER ${OCOS_ONNXRUNTIME_VERSION})
14 else()
15 set(ONNXRUNTIME_VER "1.15.1")
16 endif()
17
18 if(APPLE)
19 set(ONNXRUNTIME_URL "v${ONNXRUNTIME_VER}/onnxruntime-osx-universal2-${ONNXRUNTIME_VER}.tgz")
20 elseif(WIN32)
21 set(ONNXRUNTIME_BINARY_PLATFORM "x64")
22
23 # override if generator platform is set
24 if (CMAKE_GENERATOR_PLATFORM)
25 if (CMAKE_GENERATOR_PLATFORM STREQUAL "Win32")
26 set(ONNXRUNTIME_BINARY_PLATFORM "x86")
27 elseif (CMAKE_GENERATOR_PLATFORM STREQUAL "ARM64" OR CMAKE_GENERATOR_PLATFORM STREQUAL "ARM64EC")
28 set(ONNXRUNTIME_BINARY_PLATFORM "arm64")
29 elseif (CMAKE_GENERATOR_PLATFORM STREQUAL "ARM")
30 set(ONNXRUNTIME_BINARY_PLATFORM "arm")
31 endif()
32 elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64")
33 # or if building on arm64 machine
34 set(ONNXRUNTIME_BINARY_PLATFORM "arm64")
35 endif()
36
37 set(ONNXRUNTIME_URL "v${ONNXRUNTIME_VER}/onnxruntime-win-${ONNXRUNTIME_BINARY_PLATFORM}-${ONNXRUNTIME_VER}.zip")
38 else()
39 # Linux or other, using Linux package to retrieve the headers
40 set(ONNXRUNTIME_URL "v${ONNXRUNTIME_VER}/onnxruntime-linux-x64-${ONNXRUNTIME_VER}.tgz")
41
42 if(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
43 set(ONNXRUNTIME_URL "v${ONNXRUNTIME_VER}/onnxruntime-linux-aarch64-${ONNXRUNTIME_VER}.tgz")
44 endif()
45 endif()
46
47 if (ANDROID)
48 set(ort_fetch_URL "https://repo1.maven.org/maven2/com/microsoft/onnxruntime/onnxruntime-android/${ONNXRUNTIME_VER}/onnxruntime-android-${ONNXRUNTIME_VER}.aar")
49 else()
50 set(ort_fetch_URL "https://github.com/microsoft/onnxruntime/releases/download/${ONNXRUNTIME_URL}")
51 endif()
52
53 message(STATUS "ONNX Runtime URL: ${ort_fetch_URL}")
54 FetchContent_Declare(
55 onnxruntime
56 URL ${ort_fetch_URL}
57 )
58
59 FetchContent_makeAvailable(onnxruntime)
60
61 if (ANDROID)
62 set(ONNXRUNTIME_INCLUDE_DIR ${onnxruntime_SOURCE_DIR}/headers)
63 set(ONNXRUNTIME_LIB_DIR ${onnxruntime_SOURCE_DIR}/jni/${ANDROID_ABI})
64 message(STATUS "Android onnxruntime inc=${ONNXRUNTIME_INCLUDE_DIR} lib=${ONNXRUNTIME_LIB_DIR}")
65 else()
66 set(ONNXRUNTIME_INCLUDE_DIR ${onnxruntime_SOURCE_DIR}/include)
67 set(ONNXRUNTIME_LIB_DIR ${onnxruntime_SOURCE_DIR}/lib)
68 endif()
69endif()
70
71if(NOT EXISTS ${ONNXRUNTIME_INCLUDE_DIR})
72 message(FATAL_ERROR "ONNX Runtime headers not found at ${ONNXRUNTIME_INCLUDE_DIR}")
73endif()
74