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.

84 lines
5.2 KiB

  1. function(get_linux_lsb_release_information)
  2. find_program(LSB_RELEASE_EXEC lsb_release)
  3. if(NOT LSB_RELEASE_EXEC)
  4. message(FATAL_ERROR "Could not detect lsb_release executable, can not gather required information")
  5. endif()
  6. execute_process(COMMAND "${LSB_RELEASE_EXEC}" --short --id OUTPUT_VARIABLE LSB_RELEASE_ID_SHORT OUTPUT_STRIP_TRAILING_WHITESPACE)
  7. execute_process(COMMAND "${LSB_RELEASE_EXEC}" --short --release OUTPUT_VARIABLE LSB_RELEASE_VERSION_SHORT OUTPUT_STRIP_TRAILING_WHITESPACE)
  8. execute_process(COMMAND "${LSB_RELEASE_EXEC}" --short --codename OUTPUT_VARIABLE LSB_RELEASE_CODENAME_SHORT OUTPUT_STRIP_TRAILING_WHITESPACE)
  9. set(LSB_RELEASE_ID_SHORT "${LSB_RELEASE_ID_SHORT}" PARENT_SCOPE)
  10. set(LSB_RELEASE_VERSION_SHORT "${LSB_RELEASE_VERSION_SHORT}" PARENT_SCOPE)
  11. set(LSB_RELEASE_CODENAME_SHORT "${LSB_RELEASE_CODENAME_SHORT}" PARENT_SCOPE)
  12. endfunction()
  13. if(OPENVINO)
  14. include(gflags)
  15. set(VINO_VERSION "2022.3.0")
  16. if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "(x86)|(X86)|(amd64)|(AMD64)")
  17. set (X86 TRUE)
  18. else ()
  19. set (X86 FALSE)
  20. endif ()
  21. if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
  22. set(VINO_URL "https://storage.openvinotoolkit.org/repositories/openvino/packages/2022.3/windows/w_openvino_toolkit_windows_${VINO_VERSION}.9052.9752fafe8eb_x86_64.zip")
  23. set(URL_HASH "SHA256=adf42b4ffe4d8a39ffebcb476ea8b84e51eefbb5b900db70510412beed2cc722")
  24. elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
  25. get_linux_lsb_release_information()
  26. if(LSB_RELEASE_ID_SHORT STREQUAL "Ubuntu" AND LSB_RELEASE_VERSION_SHORT VERSION_GREATER_EQUAL 20 AND LSB_RELEASE_VERSION_SHORT VERSION_LESS 22)
  27. set(VINO_URL "https://storage.openvinotoolkit.org/repositories/openvino/packages/2022.3/linux/l_openvino_toolkit_ubuntu20_${VINO_VERSION}.9052.9752fafe8eb_x86_64.tgz")
  28. set(URL_HASH "SHA256=e421fc1d9c7e6cce4089aaf344c7f84dcfd8f81ebf4ef2130b145aeca48c4e71")
  29. elseif(LSB_RELEASE_ID_SHORT STREQUAL "Ubuntu" AND LSB_RELEASE_VERSION_SHORT VERSION_GREATER_EQUAL 18 AND LSB_RELEASE_VERSION_SHORT VERSION_LESS 20)
  30. set(VINO_URL "https://storage.openvinotoolkit.org/repositories/openvino/packages/2022.3/linux/l_openvino_toolkit_ubuntu18_${VINO_VERSION}.9052.9752fafe8eb_x86_64.tgz")
  31. set(URL_HASH "SHA256=8337579883d216336572e35066b6c8de52ea5a41f6771a3344ee41c019d27372")
  32. elseif(LSB_RELEASE_ID_SHORT STREQUAL "CentOS" AND LSB_RELEASE_VERSION_SHORT VERSION_LESS 7.10)
  33. set(VINO_URL "https://storage.openvinotoolkit.org/repositories/openvino/packages/2022.3/linux/l_openvino_toolkit_centos7_${VINO_VERSION}.9052.9752fafe8eb_x86_64.tgz")
  34. set(URL_HASH "SHA256=93d6bd23d5e8306384bdc8f3746fe56baad1a0f87b97d0b384b4c0b158227d76")
  35. elseif(LSB_RELEASE_ID_SHORT STREQUAL "CentOS" AND LSB_RELEASE_VERSION_SHORT VERSION_LESS 8.10)
  36. set(VINO_URL "https://storage.openvinotoolkit.org/repositories/openvino/packages/2022.3/linux/l_openvino_toolkit_rhel8_${VINO_VERSION}.9052.9752fafe8eb_x86_64.tgz")
  37. set(URL_HASH "SHA256=519cbdf95d73489c771357f27dbc5829057fcc3b23fd89be06e290b41a8ff934")
  38. elseif(LSB_RELEASE_ID_SHORT STREQUAL "Debian" AND LSB_RELEASE_VERSION_SHORT VERSION_LESS_EQUAL 9.13 AND X86)
  39. set(VINO_URL "https://storage.openvinotoolkit.org/repositories/openvino/packages/2022.3/linux/l_openvino_toolkit_debian9_${VINO_VERSION}.9052.9752fafe8eb_arm64.tgz")
  40. set(URL_HASH "SHA256=4099bb9a257af46fbf7d5c30414ec4e308542704eac666b4b213362208bf8b16")
  41. else()
  42. message(STATUS "Linux OS without exist binary, compile OpenVINO source.")
  43. endif()
  44. elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin" AND X86)
  45. set(VINO_URL "https://storage.openvinotoolkit.org/repositories/openvino/packages/2022.3/macos/m_openvino_toolkit_macos_10_15_${VINO_VERSION}.9052.9752fafe8eb_x86_64.tgz")
  46. set(URL_HASH "SHA256=235221536ddde7937db9ba6cd3c262d6220d2e7c7a24438d046fcd3ca0c73bed")
  47. else()
  48. message(FATAL_ERROR "Unsupported CMake System Name '${CMAKE_SYSTEM_NAME}' (expected 'Windows', 'Linux' or 'Darwin')")
  49. set(VINO_URL "")
  50. set(URL_HASH "")
  51. endif()
  52. if(${VINO_URL} STREQUAL "")
  53. set(ENABLE_INTEL_GPU OFF CACHE BOOL "Build OV with GPU" FORCE)
  54. set(ENABLE_INTEL_MYRIAD OFF CACHE BOOL "Build OV with MYRIAD" FORCE)
  55. set(ENABLE_INTEL_GNA OFF CACHE BOOL "Build OV with GNA" FORCE)
  56. set(ENABLE_INTEL_CPU ON CACHE BOOL "Build OV with CPU" FORCE)
  57. set(BUILD_SHARED_LIBS ON CACHE BOOL "Build OV in shared library" FORCE)
  58. set(ENABLE_SAMPLES OFF CACHE BOOL "Build OV with Example" FORCE)
  59. set(ENABLE_TESTS OFF CACHE BOOL "Build OV with Tests" FORCE)
  60. set(ENABLE_COMPILE_TOOL OFF CACHE BOOL "Build OV with COMPILE_TOOL" FORCE)
  61. set(ENABLE_PYTHON OFF CACHE BOOL "Build python" FORCE)
  62. set(THREADING "TBB")
  63. #set(CMAKE_BUILD_TYPE "Debug")
  64. FetchContent_Declare(openvino
  65. GIT_REPOSITORY https://github.com/openvinotoolkit/openvino.git
  66. GIT_TAG 9752fafe8ebf7e30dfea7edd447ff3bf0ac1d01d) # 2022.3.0 on Dec 20, 2022
  67. FetchContent_MakeAvailable(openvino)
  68. else()
  69. FetchContent_Declare(openvino
  70. URL ${VINO_URL}
  71. URL_HASH ${URL_HASH}
  72. )
  73. FetchContent_MakeAvailable(openvino)
  74. include_directories(${openvino_SOURCE_DIR}/include)
  75. link_directories(${openvino_SOURCE_DIR}/lib)
  76. endif()
  77. add_definitions(-DUSE_OPENVINO)
  78. endif()