custom.cmake 3.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. # Gitlab-style mirror
  2. # CMake scripts look for opencv/opencv_3rdparty,
  3. # 01org/tbb(oneAPI/oneTBB), opencv/ade
  4. # from OPENCV_DOWNLOAD_MIRROR
  5. ocv_update(OPENCV_DOWNLOAD_MIRROR_URL "")
  6. ######
  7. # Download via commit id
  8. ######
  9. # NVIDIA_OPTICAL_FLOW
  10. ocv_update(NVIDIA_OPTICAL_FLOW_PKG_MD5_GITCODE "")
  11. ocv_update(NVIDIA_OPTICAL_FLOW_PKG_MD5_ORIGINAL a73cd48b18dcc0cc8933b30796074191)
  12. # TIM-VX
  13. ocv_update(TIM-VX_PKG_MD5_GITCODE "")
  14. ocv_update(TIM-VX_PKG_MD5_ORIGINAL 92619cc4498014ac7a09834d5e33ebd5)
  15. ######
  16. # Download from release page
  17. #####
  18. # TBB
  19. ocv_update(TBB_RELEASE_CUSTOM "")
  20. ocv_update(TBB_PKG_NAME_CUSTOM "")
  21. ocv_update(TBB_PKG_MD5_CUSTOM "")
  22. ocv_update(TBB_PKG_MD5_ORIGINAL 5af6f6c2a24c2043e62e47205e273b1f) # same as OPENCV_TBB_RELEASE_MD5 for TBB release of v2020.2
  23. # ADE
  24. ocv_update(ADE_RELEASE_CUSTOM "")
  25. ocv_update(ADE_PKG_NAME_CUSTOM "")
  26. ocv_update(ADE_PKG_MD5_CUSTOM "")
  27. ocv_update(ADE_PKG_MD5_ORIGINAL b624b995ec9c439cbc2e9e6ee940d3a2) # same as ade_md5 for ADE release of v0.1.1f
  28. macro(ocv_download_url_custom_usercontent OWNER)
  29. string(REPLACE "/" ";" DL_URL_split ${DL_URL})
  30. list(GET DL_URL_split 5 __COMMIT_ID)
  31. list(GET DL_URL_split 6 __PKG_NAME)
  32. set(DL_URL "https://${OPENCV_DOWNLOAD_MIRROR_URL}/${OWNER}/opencv_3rdparty/-/raw/${__COMMIT_ID}/${__PKG_NAME}/")
  33. endmacro()
  34. macro(ocv_download_url_custom_archive_commit_id)
  35. if("m${${DL_ID}_PKG_MD5_CUSTOM}" STREQUAL "m")
  36. message(WARNING "ocv_download: specify ${DL_ID}_PKG_MD5_CUSTOM to download ${DL_ID} from custom source.")
  37. elseif(${DL_ID}_PKG_MD5_ORIGINAL STREQUAL "${DL_HASH}")
  38. string(REPLACE "/" ";" DL_URL_split ${DL_URL})
  39. list(GET DL_URL_split 3 __OWNER)
  40. list(GET DL_URL_split 4 __REPO_NAME)
  41. set(DL_URL "https://${OPENCV_DOWNLOAD_MIRROR_URL}/${__OWNER}/${__REPO_NAME}/-/archive/")
  42. set(DL_HASH "${${DL_ID}_PKG_MD5_CUSTOM}")
  43. else()
  44. message(WARNING "No information about mirrors for downloading ${DL_FILENAME} from URL='${DL_URL}' and MD5=${DL_HASH}.")
  45. endif()
  46. endmacro()
  47. macro(ocv_download_url_custom_archive_release)
  48. if("m${${DL_ID}_RELEASE_CUSTOM}" STREQUAL "m")
  49. message(WARNING "ocv_download: specify ${DL_ID}_RELEASE_CUSTOM to download ${DL_ID} from custom source.")
  50. return()
  51. endif()
  52. if("m${${DL_ID}_PKG_NAME_CUSTOM}" STREQUAL "m")
  53. message(WARNING "ocv_download: specify ${DL_ID}_PKG_NAME_CUSTOM to download ${DL_ID} from custom source.")
  54. return()
  55. endif()
  56. if("m${${DL_ID}_PKG_MD5_CUSTOM}" STREQUAL "m")
  57. message(WARNING "ocv_download: specify ${DL_ID}_PKG_MD5_CUSTOM to download ${DL_ID} from custom source.")
  58. return()
  59. endif()
  60. string(REPLACE "/" ";" DL_URL_split ${DL_URL})
  61. list(GET DL_URL_split 3 __OWNER)
  62. list(GET DL_URL_split 4 __REPO_NAME)
  63. set(DL_URL "https://${OPENCV_DOWNLOAD_MIRROR_URL}/${__OWNER}/${__REPO_NAME}/-/archive/${${DL_ID}_RELEASE_CUSTOM}/${__REPO_NAME}-")
  64. set(DL_HASH "${${DL_ID}_PKG_MD5_CUSTOM}")
  65. endmacro()
  66. if("m${OPENCV_DOWNLOAD_MIRROR_URL}" STREQUAL "m")
  67. message(WARNING "ocv_download: specify OPENCV_DOWNLOAD_MIRROR_URL to use custom mirror.")
  68. else()
  69. if((DL_ID STREQUAL "FFMPEG") OR (DL_ID STREQUAL "IPPICV") OR (DL_ID STREQUAL "data") OR (DL_ID STREQUAL "xfeatures2d/boostdesc") OR (DL_ID STREQUAL "xfeatures2d/vgg"))
  70. ocv_download_url_custom_usercontent(opencv)
  71. elseif(DL_ID STREQUAL "wechat_qrcode")
  72. ocv_download_url_gitcode_usercontent(WeChatCV)
  73. elseif((DL_ID STREQUAL "NVIDIA_OPTICAL_FLOW") OR (DL_ID STREQUAL "TIM-VX"))
  74. ocv_download_url_custom_archive_commit_id()
  75. elseif(DL_ID STREQUAL "TBB")
  76. ocv_download_url_custom_archive_release()
  77. set(OPENCV_TBB_SUBDIR "${TBB_PKG_NAME_CUSTOM}" PARENT_SCOPE)
  78. elseif(DL_ID STREQUAL "ADE")
  79. ocv_download_url_custom_archive_release()
  80. set(ade_subdir "${ADE_PKG_NAME_CUSTOM}" PARENT_SCOPE)
  81. else()
  82. message(STATUS "ocv_download: Unknown download ID ${DL_ID} for using mirror ${OPENCV_DOWNLOAD_MIRROR_URL}. Use original source instead.")
  83. endif()
  84. endif()