microsoft/onnxruntime-extensions
Publicmirrored fromhttps://github.com/microsoft/onnxruntime-extensionsAvailable
cmake/ext_ortlib.cmake
54lines · modecode
| 1 | if(_ONNXRUNTIME_EMBEDDED) |
| 2 | set(ONNXRUNTIME_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/../include/onnxruntime/core/session) |
| 3 | set(ONNXRUNTIME_LIB_DIR "") |
| 4 | elseif(ONNXRUNTIME_PKG_DIR) |
| 5 | set(ONNXRUNTIME_INCLUDE_DIR ${ONNXRUNTIME_PKG_DIR}/include) |
| 6 | set(ONNXRUNTIME_LIB_DIR ${ONNXRUNTIME_PKG_DIR}/lib) |
| 7 | else() |
| 8 | message(STATUS "CMAKE_SYSTEM_PROCESSOR=${CMAKE_SYSTEM_PROCESSOR}") |
| 9 | message(STATUS "CMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}") |
| 10 | |
| 11 | # default to 1.11.1 if not specified |
| 12 | set(ONNXRUNTIME_VER "1.11.1" CACHE STRING "ONNX Runtime version") |
| 13 | |
| 14 | if(CMAKE_HOST_APPLE) |
| 15 | set(ONNXRUNTIME_URL "v${ONNXRUNTIME_VER}/onnxruntime-osx-universal2-${ONNXRUNTIME_VER}.tgz") |
| 16 | elseif(CMAKE_HOST_WIN32) |
| 17 | if(CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64") |
| 18 | if (CMAKE_GENERATOR_PLATFORM STREQUAL "Win32") |
| 19 | set(ONNXRUNTIME_URL "v${ONNXRUNTIME_VER}/onnxruntime-win-x86-${ONNXRUNTIME_VER}.zip") |
| 20 | else() |
| 21 | set(ONNXRUNTIME_URL "v${ONNXRUNTIME_VER}/onnxruntime-win-x64-${ONNXRUNTIME_VER}.zip") |
| 22 | endif() |
| 23 | elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64") |
| 24 | if (CMAKE_GENERATOR_PLATFORM STREQUAL "ARM") |
| 25 | set(ONNXRUNTIME_URL "v${ONNXRUNTIME_VER}/onnxruntime-win-arm-${ONNXRUNTIME_VER}.zip") |
| 26 | else() |
| 27 | set(ONNXRUNTIME_URL "v${ONNXRUNTIME_VER}/onnxruntime-win-arm64-${ONNXRUNTIME_VER}.zip") |
| 28 | endif() |
| 29 | else() |
| 30 | message(FATAL_ERROR "Unexpected CMAKE_SYSTEM_PROCESSOR of ${CMAKE_SYSTEM_PROCESSOR}.") |
| 31 | endif() |
| 32 | else() |
| 33 | # Linux or other, using Linux package to retrieve the headers |
| 34 | set(ONNXRUNTIME_URL "v${ONNXRUNTIME_VER}/onnxruntime-linux-x64-${ONNXRUNTIME_VER}.tgz") |
| 35 | |
| 36 | if(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64") |
| 37 | set(ONNXRUNTIME_URL "v${ONNXRUNTIME_VER}/onnxruntime-linux-aarch64-${ONNXRUNTIME_VER}.tgz") |
| 38 | endif() |
| 39 | endif() |
| 40 | |
| 41 | message(STATUS "ONNX Runtime URL suffix: ${ONNXRUNTIME_URL}") |
| 42 | FetchContent_Declare( |
| 43 | onnxruntime |
| 44 | URL https://github.com/microsoft/onnxruntime/releases/download/${ONNXRUNTIME_URL} |
| 45 | ) |
| 46 | |
| 47 | FetchContent_makeAvailable(onnxruntime) |
| 48 | set(ONNXRUNTIME_INCLUDE_DIR ${onnxruntime_SOURCE_DIR}/include) |
| 49 | set(ONNXRUNTIME_LIB_DIR ${onnxruntime_SOURCE_DIR}/lib) |
| 50 | endif() |
| 51 | |
| 52 | if(NOT EXISTS ${ONNXRUNTIME_INCLUDE_DIR}) |
| 53 | message(FATAL_ERROR "ONNX Runtime headers not found at ${ONNXRUNTIME_INCLUDE_DIR}") |
| 54 | endif() |
| 55 | |