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