gitcode.cmake 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. ######
  2. # Download via commit id
  3. ######
  4. # NVIDIA_OPTICAL_FLOW
  5. ocv_update(NVIDIA_OPTICAL_FLOW_PKG_MD5_GITCODE 8d5b7eeb24d6ca9c6bcfdff4196d5b47)
  6. ocv_update(NVIDIA_OPTICAL_FLOW_PKG_MD5_ORIGINAL a73cd48b18dcc0cc8933b30796074191)
  7. # TIM-VX
  8. ocv_update(TIM-VX_PKG_MD5_GITCODE 3f2a548b40b170668aaa60d4f60ba40b)
  9. ocv_update(TIM-VX_PKG_MD5_ORIGINAL 92619cc4498014ac7a09834d5e33ebd5)
  10. ######
  11. # Download from release page
  12. #####
  13. # TBB
  14. ocv_update(TBB_RELEASE_GITCODE "v2020.2")
  15. ocv_update(TBB_PKG_NAME_GITCODE "tbb-${TBB_RELEASE_GITCODE}")
  16. ocv_update(TBB_PKG_MD5_GITCODE 4eeafdf16a90cb66e39a31c8d6c6804e)
  17. ocv_update(TBB_PKG_MD5_ORIGINAL 5af6f6c2a24c2043e62e47205e273b1f) # same as OPENCV_TBB_RELEASE_MD5 for TBB release of v2020.2
  18. # ADE
  19. ocv_update(ADE_RELEASE_GITCODE "v0.1.2a")
  20. ocv_update(ADE_PKG_NAME_GITCODE "ade-${ADE_RELEASE_GITCODE}")
  21. ocv_update(ADE_PKG_MD5_GITCODE 6c8015a886a98fd8a67635431fa171d8)
  22. ocv_update(ADE_PKG_MD5_ORIGINAL fa4b3e25167319cb0fa9432ef8281945) # same as ade_md5 for ADE release of v0.1.2a
  23. #
  24. # Replace download links for packages in opencv/opencv_3rdparty:
  25. # 1. Extract repo owner and repo name from DL_URL.
  26. # 2. Put repo owner and repo name into the placeholders of new DL_URL.
  27. #
  28. macro(ocv_download_url_gitcode_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://gitcode.net/${OWNER}/opencv_3rdparty/-/raw/${__COMMIT_ID}/")
  33. if(__PKG_NAME)
  34. set(DL_URL "${DL_URL}${__PKG_NAME}/")
  35. endif()
  36. endmacro()
  37. #
  38. # Replace download links and checksums for archives/releases in other repositories:
  39. # 1. Check if versions matched. If not matched, download from github instead.
  40. # 2. Extract repo owner and repo name from DL_URL.
  41. # 3. Put repo owner and repo name into the placeholders of new DL_URL.
  42. # 4. Replace DL_HASH with the one downloaded from gitcode.net.
  43. #
  44. macro(ocv_download_url_gitcode_archive_commit_id)
  45. if(DL_HASH STREQUAL "${${DL_ID}_PKG_MD5_ORIGINAL}")
  46. string(REPLACE "/" ";" DL_URL_split ${DL_URL})
  47. list(GET DL_URL_split 3 __OWNER)
  48. list(GET DL_URL_split 4 __REPO_NAME)
  49. set(DL_URL "https://gitcode.net/mirrors/${__OWNER}/${__REPO_NAME}/-/archive/")
  50. set(DL_HASH "${${DL_ID}_PKG_MD5_GITCODE}")
  51. else()
  52. message(WARNING "Package ${DL_ID} from mirror gitcode.net is outdated and will be downloaded from github.com instead.")
  53. endif()
  54. endmacro()
  55. macro(ocv_download_url_gitcode_archive_release SUBDIR)
  56. if(DL_HASH STREQUAL "${${DL_ID}_PKG_MD5_ORIGINAL}")
  57. string(REPLACE "/" ";" DL_URL_split ${DL_URL})
  58. list(GET DL_URL_split 3 __OWNER)
  59. list(GET DL_URL_split 4 __REPO_NAME)
  60. set(DL_URL "https://gitcode.net/${__OWNER}/${__REPO_NAME}/-/archive/${${DL_ID}_RELEASE_GITCODE}/${__REPO_NAME}-")
  61. set(DL_HASH "${${DL_ID}_PKG_MD5_GITCODE}")
  62. set(${SUBDIR} "${${DL_ID}_PKG_NAME_GITCODE}" PARENT_SCOPE)
  63. else()
  64. message(WARNING "Package ${DL_ID} from mirror gitcode.net is outdated and will be downloaded from github.com instead.")
  65. endif()
  66. endmacro()
  67. 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"))
  68. ocv_download_url_gitcode_usercontent(opencv)
  69. elseif(DL_ID STREQUAL "wechat_qrcode")
  70. ocv_download_url_gitcode_usercontent(mirrors/WeChatCV)
  71. elseif((DL_ID STREQUAL "NVIDIA_OPTICAL_FLOW") OR (DL_ID STREQUAL "TIM-VX"))
  72. ocv_download_url_gitcode_archive_commit_id()
  73. elseif(DL_ID STREQUAL "TBB")
  74. ocv_download_url_gitcode_archive_release(OPENCV_TBB_SUBDIR)
  75. elseif(DL_ID STREQUAL "ADE")
  76. ocv_download_url_gitcode_archive_release(ade_subdir)
  77. else()
  78. message(STATUS "ocv_download: Unknown download ID ${DL_ID} for using mirror gitcode.net. Use original source instead.")
  79. endif()