Advertisement
Guest User

Untitled

a guest
Mar 29th, 2023
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.67 KB | None | 0 0
  1. set(DEPENDENCIES_VERSION 1.1.0)
  2. set(DEPENDENCIES_NAME_1800_27 libraries_v120_x64_py27_${DEPENDENCIES_VERSION})
  3. set(DEPENDENCIES_NAME_1900_27 libraries_v140_x64_py27_${DEPENDENCIES_VERSION})
  4. set(DEPENDENCIES_NAME_1900_35 libraries_v140_x64_py35_${DEPENDENCIES_VERSION})
  5.  
  6. set(DEPENDENCIES_URL_BASE https://github.com/willyd/caffe-builder/releases/download)
  7. set(DEPENDENCIES_FILE_EXT .tar.bz2)
  8. set(DEPENDENCIES_URL_1800_27 "${DEPENDENCIES_URL_BASE}/v${DEPENDENCIES_VERSION}/${DEPENDENCIES_NAME_1800_27}${DEPENDENCIES_FILE_EXT}")
  9. set(DEPENDENCIES_SHA_1800_27 "ba833d86d19b162a04d68b09b06df5e0dad947d4")
  10. set(DEPENDENCIES_URL_1900_27 "${DEPENDENCIES_URL_BASE}/v${DEPENDENCIES_VERSION}/${DEPENDENCIES_NAME_1900_27}${DEPENDENCIES_FILE_EXT}")
  11. set(DEPENDENCIES_SHA_1900_27 "17eecb095bd3b0774a87a38624a77ce35e497cd2")
  12. set(DEPENDENCIES_URL_1900_35 "${DEPENDENCIES_URL_BASE}/v${DEPENDENCIES_VERSION}/${DEPENDENCIES_NAME_1900_35}${DEPENDENCIES_FILE_EXT}")
  13. set(DEPENDENCIES_SHA_1900_35 "f060403fd1a7448d866d27c0e5b7dced39c0a607")
  14.  
  15. caffe_option(USE_PREBUILT_DEPENDENCIES "Download and use the prebuilt dependencies" ON IF MSVC)
  16. if(MSVC)
  17. file(TO_CMAKE_PATH $ENV{USERPROFILE} USERPROFILE_DIR)
  18. if(NOT EXISTS ${USERPROFILE_DIR})
  19. message(FATAL_ERROR "Could not find %USERPROFILE% directory. Please specify an alternate CAFFE_DEPENDENCIES_ROOT_DIR")
  20. endif()
  21. set(CAFFE_DEPENDENCIES_ROOT_DIR ${USERPROFILE_DIR}/.caffe/dependencies CACHE PATH "Prebuild depdendencies root directory")
  22. set(CAFFE_DEPENDENCIES_DOWNLOAD_DIR ${CAFFE_DEPENDENCIES_ROOT_DIR}/download CACHE PATH "Download directory for prebuilt dependencies")
  23. endif()
  24. if(USE_PREBUILT_DEPENDENCIES)
  25. # Determine the python version
  26. if(BUILD_python)
  27. if(NOT PYTHONINTERP_FOUND)
  28. if(NOT "${python_version}" VERSION_LESS "3.0.0")
  29. find_package(PythonInterp 3.5)
  30. else()
  31. find_package(PythonInterp 2.7)
  32. endif()
  33. endif()
  34. set(_pyver ${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR})
  35. else()
  36. message(STATUS "Building without python. Prebuilt dependencies will default to Python 2.7")
  37. set(_pyver 27)
  38. endif()
  39. if(NOT DEFINED DEPENDENCIES_URL_${MSVC_VERSION}_${_pyver})
  40. message(FATAL_ERROR "Could not find url for MSVC version = ${MSVC_VERSION} and Python version = ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.")
  41. endif()
  42. # set the dependencies URL and SHA1
  43. set(DEPENDENCIES_URL ${DEPENDENCIES_URL_${MSVC_VERSION}_${_pyver}})
  44. set(DEPENDENCIES_SHA ${DEPENDENCIES_SHA_${MSVC_VERSION}_${_pyver}})
  45. set(CAFFE_DEPENDENCIES_DIR ${CAFFE_DEPENDENCIES_ROOT_DIR}/${DEPENDENCIES_NAME_${MSVC_VERSION}_${_pyver}})
  46.  
  47. foreach(_dir ${CAFFE_DEPENDENCIES_ROOT_DIR}
  48. ${CAFFE_DEPENDENCIES_DOWNLOAD_DIR}
  49. ${CAFFE_DEPENDENCIES_DIR})
  50. # create the directory if it does not exist
  51. if(NOT EXISTS ${_dir})
  52. file(MAKE_DIRECTORY ${_dir})
  53. endif()
  54. endforeach()
  55. # download and extract the file if it does not exist or if does not match the sha1
  56. get_filename_component(_download_filename ${DEPENDENCIES_URL} NAME)
  57. set(_download_path ${CAFFE_DEPENDENCIES_DOWNLOAD_DIR}/${_download_filename})
  58. set(_download_file 1)
  59. if(EXISTS ${_download_path})
  60. file(SHA1 ${_download_path} _file_sha)
  61. if("${_file_sha}" STREQUAL "${DEPENDENCIES_SHA}")
  62. set(_download_file 0)
  63. else()
  64. set(_download_file 1)
  65. message(STATUS "Removing file because sha1 does not match.")
  66. file(REMOVE ${_download_path})
  67. endif()
  68. endif()
  69. if(_download_file)
  70. message(STATUS "Downloading prebuilt dependencies to ${_download_path}")
  71. file(DOWNLOAD "${DEPENDENCIES_URL}"
  72. "${_download_path}"
  73. EXPECTED_HASH SHA1=${DEPENDENCIES_SHA}
  74. SHOW_PROGRESS
  75. )
  76. if(EXISTS ${CAFFE_DEPENDENCIES_DIR}/libraries)
  77. file(REMOVE_RECURSE ${CAFFE_DEPENDENCIES_DIR}/libraries)
  78. endif()
  79. endif()
  80. if(EXISTS ${_download_path} AND NOT EXISTS ${CAFFE_DEPENDENCIES_DIR}/libraries)
  81. message(STATUS "Extracting dependencies")
  82. execute_process(COMMAND ${CMAKE_COMMAND} -E tar xjf ${_download_path}
  83. WORKING_DIRECTORY ${CAFFE_DEPENDENCIES_DIR}
  84. )
  85. endif()
  86. if(EXISTS ${CAFFE_DEPENDENCIES_DIR}/libraries/caffe-builder-config.cmake)
  87. include(${CAFFE_DEPENDENCIES_DIR}/libraries/caffe-builder-config.cmake)
  88. else()
  89. message(FATAL_ERROR "Something went wrong while dowloading dependencies could not open caffe-builder-config.cmake")
  90. endif()
  91. endif()
  92.  
  93.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement