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

package_win.cmake 6.7 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. # include dependency
  2. include(CMakePackageConfigHelpers)
  3. include(GNUInstallDirs)
  4. # set package information
  5. set(CPACK_PACKAGE_NAME ${PROJECT_NAME})
  6. set(CPACK_GENERATOR "External")
  7. set(CPACK_CMAKE_GENERATOR "Ninja")
  8. set(CPACK_EXTERNAL_PACKAGE_SCRIPT ${CMAKE_SOURCE_DIR}/cmake/package_script.cmake)
  9. set(CPACK_EXTERNAL_ENABLE_STAGING true)
  10. set(CPACK_TEMPORARY_PACKAGE_FILE_NAME ${CMAKE_SOURCE_DIR}/build/package/mindspore)
  11. set(CPACK_TEMPORARY_INSTALL_DIRECTORY ${CMAKE_SOURCE_DIR}/build/package/mindspore)
  12. set(CPACK_PACK_ROOT_DIR ${BUILD_PATH}/package/)
  13. set(CPACK_CMAKE_SOURCE_DIR ${CMAKE_SOURCE_DIR})
  14. set(CPACK_PYTHON_EXE ${Python3_EXECUTABLE})
  15. set(CPACK_PYTHON_VERSION ${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR})
  16. if(ENABLE_GPU)
  17. set(CPACK_MS_BACKEND "ms")
  18. set(CPACK_MS_TARGET "gpu or cpu")
  19. if(BUILD_DEV_MODE)
  20. # providing cuda11 version of dev package only
  21. set(CPACK_MS_PACKAGE_NAME "mindspore_cuda11_dev")
  22. else()
  23. set(CPACK_MS_PACKAGE_NAME "mindspore_gpu")
  24. endif()
  25. elseif(ENABLE_CPU)
  26. set(CPACK_MS_BACKEND "ms")
  27. set(CPACK_MS_TARGET "cpu")
  28. if(BUILD_DEV_MODE)
  29. set(CPACK_MS_PACKAGE_NAME "mindspore_dev")
  30. else()
  31. set(CPACK_MS_PACKAGE_NAME "mindspore")
  32. endif()
  33. else()
  34. set(CPACK_MS_BACKEND "debug")
  35. set(CPACK_MS_TARGET "ascend or gpu or cpu")
  36. if(BUILD_DEV_MODE)
  37. set(CPACK_MS_PACKAGE_NAME "mindspore_dev")
  38. else()
  39. set(CPACK_MS_PACKAGE_NAME "mindspore")
  40. endif()
  41. endif()
  42. include(CPack)
  43. # set install path
  44. set(INSTALL_LIB_DIR ${CMAKE_INSTALL_LIBDIR} CACHE PATH "Installation directory for libraries")
  45. set(INSTALL_PY_DIR ".")
  46. set(INSTALL_BASE_DIR ".")
  47. set(INSTALL_BIN_DIR "bin")
  48. set(INSTALL_CFG_DIR "config")
  49. set(INSTALL_LIB_DIR ".")
  50. set(onednn_LIBPATH ${onednn_LIBPATH}/../bin/)
  51. set(glog_LIBPATH ${glog_LIBPATH}/../bin/)
  52. set(opencv_LIBPATH ${opencv_LIBPATH}/../bin/)
  53. set(jpeg_turbo_LIBPATH ${jpeg_turbo_LIBPATH}/../bin/)
  54. set(sqlite_LIBPATH ${sqlite_LIBPATH}/../bin/)
  55. set(tinyxml2_LIBPATH ${tinyxml2_LIBPATH}/../bin/)
  56. message("offline debugger does not support windows system temporarily")
  57. # set package files
  58. install(
  59. TARGETS _c_expression
  60. DESTINATION ${INSTALL_BASE_DIR}
  61. COMPONENT mindspore
  62. )
  63. install(
  64. TARGETS mindspore_shared_lib
  65. DESTINATION ${INSTALL_LIB_DIR}
  66. COMPONENT mindspore
  67. )
  68. install(
  69. TARGETS mindspore_gvar
  70. DESTINATION ${INSTALL_LIB_DIR}
  71. COMPONENT mindspore
  72. )
  73. if(USE_GLOG)
  74. file(GLOB_RECURSE GLOG_LIB_LIST ${glog_LIBPATH}/libmindspore_glog.dll)
  75. install(
  76. FILES ${GLOG_LIB_LIST}
  77. DESTINATION ${INSTALL_LIB_DIR}
  78. COMPONENT mindspore
  79. )
  80. endif()
  81. if(ENABLE_MINDDATA)
  82. message("icu4c does not support windows system temporarily")
  83. install(
  84. TARGETS _c_dataengine _c_mindrecord
  85. DESTINATION ${INSTALL_BASE_DIR}
  86. COMPONENT mindspore
  87. )
  88. file(GLOB_RECURSE OPENCV_LIB_LIST
  89. ${opencv_LIBPATH}/libopencv_core*
  90. ${opencv_LIBPATH}/libopencv_imgcodecs*
  91. ${opencv_LIBPATH}/libopencv_imgproc*
  92. )
  93. install(
  94. FILES ${OPENCV_LIB_LIST}
  95. DESTINATION ${INSTALL_LIB_DIR}
  96. COMPONENT mindspore
  97. )
  98. file(GLOB_RECURSE TINYXML2_LIB_LIST ${tinyxml2_LIBPATH}/libtinyxml2.dll)
  99. install(
  100. FILES ${TINYXML2_LIB_LIST}
  101. DESTINATION ${INSTALL_LIB_DIR}
  102. COMPONENT mindspore
  103. )
  104. endif()
  105. if(ENABLE_CPU)
  106. file(GLOB_RECURSE DNNL_LIB_LIST ${onednn_LIBPATH}/dnnl.dll)
  107. install(
  108. FILES ${DNNL_LIB_LIST}
  109. DESTINATION ${INSTALL_LIB_DIR}
  110. COMPONENT mindspore
  111. )
  112. install(
  113. TARGETS nnacl
  114. DESTINATION ${INSTALL_LIB_DIR}
  115. COMPONENT mindspore
  116. )
  117. endif()
  118. if(ENABLE_MPI)
  119. if(ENABLE_GPU)
  120. install(
  121. TARGETS _ms_mpi
  122. DESTINATION ${INSTALL_BASE_DIR}
  123. COMPONENT mindspore
  124. )
  125. endif()
  126. if(ENABLE_CPU)
  127. install(
  128. TARGETS mpi_adapter
  129. DESTINATION ${INSTALL_LIB_DIR}
  130. COMPONENT mindspore
  131. )
  132. install(
  133. TARGETS mpi_collective
  134. DESTINATION ${INSTALL_LIB_DIR}
  135. COMPONENT mindspore
  136. )
  137. endif()
  138. endif()
  139. if(ENABLE_GPU)
  140. if(ENABLE_MPI)
  141. install(
  142. TARGETS gpu_collective
  143. DESTINATION ${INSTALL_LIB_DIR}
  144. COMPONENT mindspore
  145. )
  146. install(
  147. TARGETS nvidia_collective
  148. DESTINATION ${INSTALL_LIB_DIR}
  149. COMPONENT mindspore
  150. )
  151. endif()
  152. install(
  153. TARGETS gpu_queue
  154. DESTINATION ${INSTALL_LIB_DIR}
  155. COMPONENT mindspore
  156. )
  157. endif()
  158. get_filename_component(CXX_DIR ${CMAKE_CXX_COMPILER} PATH)
  159. file(GLOB CXX_LIB_LIST ${CXX_DIR}/*.dll)
  160. string(REPLACE "\\" "/" SystemRoot $ENV{SystemRoot})
  161. file(GLOB VC_LIB_LIST ${SystemRoot}/System32/msvcp140.dll ${SystemRoot}/System32/vcomp140.dll)
  162. file(GLOB JPEG_LIB_LIST ${jpeg_turbo_LIBPATH}/*.dll)
  163. file(GLOB SQLITE_LIB_LIST ${sqlite_LIBPATH}/*.dll)
  164. install(
  165. FILES ${CXX_LIB_LIST} ${JPEG_LIB_LIST} ${SQLITE_LIB_LIST} ${VC_LIB_LIST}
  166. DESTINATION ${INSTALL_LIB_DIR}
  167. COMPONENT mindspore
  168. )
  169. # set python files
  170. file(GLOB MS_PY_LIST ${CMAKE_SOURCE_DIR}/mindspore/*.py)
  171. install(
  172. FILES ${MS_PY_LIST}
  173. DESTINATION ${INSTALL_PY_DIR}
  174. COMPONENT mindspore
  175. )
  176. install(
  177. DIRECTORY
  178. ${CMAKE_SOURCE_DIR}/mindspore/nn
  179. ${CMAKE_SOURCE_DIR}/mindspore/_extends
  180. ${CMAKE_SOURCE_DIR}/mindspore/parallel
  181. ${CMAKE_SOURCE_DIR}/mindspore/mindrecord
  182. ${CMAKE_SOURCE_DIR}/mindspore/numpy
  183. ${CMAKE_SOURCE_DIR}/mindspore/train
  184. ${CMAKE_SOURCE_DIR}/mindspore/boost
  185. ${CMAKE_SOURCE_DIR}/mindspore/common
  186. ${CMAKE_SOURCE_DIR}/mindspore/ops
  187. ${CMAKE_SOURCE_DIR}/mindspore/communication
  188. ${CMAKE_SOURCE_DIR}/mindspore/profiler
  189. ${CMAKE_SOURCE_DIR}/mindspore/compression
  190. ${CMAKE_SOURCE_DIR}/mindspore/run_check
  191. DESTINATION ${INSTALL_PY_DIR}
  192. COMPONENT mindspore
  193. )
  194. if(EXISTS ${CMAKE_SOURCE_DIR}/mindspore/dataset)
  195. install(
  196. DIRECTORY ${CMAKE_SOURCE_DIR}/mindspore/dataset
  197. DESTINATION ${INSTALL_PY_DIR}
  198. COMPONENT mindspore
  199. )
  200. endif()
  201. ## Public header files
  202. install(
  203. DIRECTORY ${CMAKE_SOURCE_DIR}/include
  204. DESTINATION ${INSTALL_BASE_DIR}
  205. COMPONENT mindspore
  206. )
  207. ## Public header files for minddata
  208. install(
  209. FILES ${CMAKE_SOURCE_DIR}/mindspore/ccsrc/minddata/dataset/include/dataset/config.h
  210. ${CMAKE_SOURCE_DIR}/mindspore/ccsrc/minddata/dataset/include/dataset/constants.h
  211. ${CMAKE_SOURCE_DIR}/mindspore/ccsrc/minddata/dataset/include/dataset/execute.h
  212. ${CMAKE_SOURCE_DIR}/mindspore/ccsrc/minddata/dataset/include/dataset/text.h
  213. ${CMAKE_SOURCE_DIR}/mindspore/ccsrc/minddata/dataset/include/dataset/transforms.h
  214. ${CMAKE_SOURCE_DIR}/mindspore/ccsrc/minddata/dataset/include/dataset/vision.h
  215. ${CMAKE_SOURCE_DIR}/mindspore/ccsrc/minddata/dataset/include/dataset/vision_lite.h
  216. ${CMAKE_SOURCE_DIR}/mindspore/ccsrc/minddata/dataset/include/dataset/vision_ascend.h
  217. DESTINATION ${INSTALL_BASE_DIR}/include/dataset
  218. COMPONENT mindspore
  219. )
  220. ## config files
  221. install(
  222. FILES ${CMAKE_SOURCE_DIR}/config/op_info.config
  223. DESTINATION ${INSTALL_CFG_DIR}
  224. COMPONENT mindspore
  225. )