You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
2.0 KiB

  1. if(ONNX)
  2. set(ONNX_VERSION "1.12.0")
  3. if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
  4. set(ONNX_URL "https://github.com/microsoft/onnxruntime/releases/download/v${ONNX_VERSION}/onnxruntime-win-x64-${ONNX_VERSION}.zip")
  5. set(URL_HASH "SHA256=8b5d61204989350b7904ac277f5fbccd3e6736ddbb6ec001e412723d71c9c176")
  6. elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
  7. if(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
  8. set(ONNX_URL "https://github.com/microsoft/onnxruntime/releases/download/v${ONNX_VERSION}/onnxruntime-linux-aarch64-${ONNX_VERSION}.tgz")
  9. set(URL_HASH "SHA256=5820d9f343df73c63b6b2b174a1ff62575032e171c9564bcf92060f46827d0ac")
  10. else()
  11. set(ONNX_URL "https://github.com/microsoft/onnxruntime/releases/download/v${ONNX_VERSION}/onnxruntime-linux-x64-${ONNX_VERSION}.tgz")
  12. set(URL_HASH "SHA256=5d503ce8540358b59be26c675e42081be14a3e833a5301926f555451046929c5")
  13. endif()
  14. elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
  15. if(CMAKE_SYSTEM_PROCESSOR MATCHES "arm64")
  16. set(ONNX_URL "https://github.com/microsoft/onnxruntime/releases/download/v${ONNX_VERSION}/onnxruntime-osx-arm64-${ONNX_VERSION}.tgz")
  17. set(URL_HASH "SHA256=23117b6f5d7324d4a7c51184e5f808dd952aec411a6b99a1b6fd1011de06e300")
  18. else()
  19. set(ONNX_URL "https://github.com/microsoft/onnxruntime/releases/download/v${ONNX_VERSION}/onnxruntime-osx-x86_64-${ONNX_VERSION}.tgz")
  20. set(URL_HASH "SHA256=09b17f712f8c6f19bb63da35d508815b443cbb473e16c6192abfaa297c02f600")
  21. endif()
  22. else()
  23. message(FATAL_ERROR "Unsupported CMake System Name '${CMAKE_SYSTEM_NAME}' (expected 'Windows', 'Linux' or 'Darwin')")
  24. endif()
  25. FetchContent_Declare(onnxruntime
  26. URL ${ONNX_URL}
  27. URL_HASH ${URL_HASH}
  28. )
  29. FetchContent_MakeAvailable(onnxruntime)
  30. include_directories(${onnxruntime_SOURCE_DIR}/include)
  31. link_directories(${onnxruntime_SOURCE_DIR}/lib)
  32. if(MSVC)
  33. file(GLOB ONNX_DLLS "${onnxruntime_SOURCE_DIR}/lib/*.dll")
  34. file(COPY ${ONNX_DLLS} DESTINATION ${CMAKE_BINARY_DIR}/bin/${CMAKE_BUILD_TYPE})
  35. endif()
  36. add_definitions(-DUSE_ONNX)
  37. endif()