• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# include dependency
2include(CMakePackageConfigHelpers)
3include(GNUInstallDirs)
4
5# prepare output directory
6file(REMOVE_RECURSE ${CMAKE_SOURCE_DIR}/output)
7file(MAKE_DIRECTORY ${CMAKE_SOURCE_DIR}/output)
8
9# cpack variables
10string(TOLOWER linux_${CMAKE_HOST_SYSTEM_PROCESSOR} PLATFORM_NAME)
11set(CPACK_PACKAGE_FILE_NAME mindspore_ascend-${VERSION_NUMBER}-${PLATFORM_NAME})
12set(CPACK_GENERATOR "TGZ")
13set(CPACK_PACKAGE_CHECKSUM SHA256)
14set(CPACK_PACKAGE_DIRECTORY ${CMAKE_SOURCE_DIR}/output)
15
16set(INSTALL_LIB_DIR ${CMAKE_INSTALL_LIBDIR} CACHE PATH "Installation directory for libraries")
17set(INSTALL_BASE_DIR ".")
18set(INSTALL_BIN_DIR "bin")
19set(INSTALL_CFG_DIR "config")
20set(INSTALL_LIB_DIR "lib")
21set(INSTALL_PLUGIN_DIR "${INSTALL_LIB_DIR}/plugin")
22
23# set package files
24install(
25        TARGETS mindspore_shared_lib
26        DESTINATION ${INSTALL_LIB_DIR}
27        COMPONENT mindspore
28)
29
30install(
31        TARGETS mindspore_core mindspore_common mindspore_backend mindspore_np_dtype
32        DESTINATION ${INSTALL_LIB_DIR}
33        COMPONENT mindspore
34)
35
36if(ENABLE_D)
37    install(
38        TARGETS mindspore_ascend
39        DESTINATION ${INSTALL_PLUGIN_DIR}
40        COMPONENT mindspore
41    )
42endif()
43
44if(ENABLE_GPU)
45    install(
46        TARGETS mindspore_gpu
47        DESTINATION ${INSTALL_PLUGIN_DIR}
48        COMPONENT mindspore
49    )
50endif()
51
52if(USE_GLOG)
53    file(GLOB_RECURSE GLOG_LIB_LIST ${glog_LIBPATH}/libmindspore_glog*)
54    install(
55            FILES ${GLOG_LIB_LIST}
56            DESTINATION ${INSTALL_LIB_DIR}
57            COMPONENT mindspore
58    )
59endif()
60
61if(ENABLE_MINDDATA)
62    install(
63            TARGETS _c_dataengine _c_mindrecord
64            DESTINATION ${INSTALL_BASE_DIR}
65            COMPONENT mindspore
66    )
67    install(
68            TARGETS cache_admin cache_server
69            OPTIONAL
70            DESTINATION ${INSTALL_BIN_DIR}
71            COMPONENT mindspore
72    )
73    if(ENABLE_FFMPEG)
74        file(GLOB_RECURSE FFMPEG_LIB_LIST
75                ${ffmpeg_LIBPATH}/libavcodec*
76                ${ffmpeg_LIBPATH}/libavdevice*
77                ${ffmpeg_LIBPATH}/libavfilter*
78                ${ffmpeg_LIBPATH}/libavformat*
79                ${ffmpeg_LIBPATH}/libavutil*
80                ${ffmpeg_LIBPATH}/libswresample*
81                ${ffmpeg_LIBPATH}/libswscale*
82                )
83        install(
84                FILES ${FFMPEG_LIB_LIST}
85                DESTINATION ${INSTALL_LIB_DIR}
86                COMPONENT mindspore
87        )
88    endif()
89    file(GLOB_RECURSE OPENCV_LIB_LIST
90            ${opencv_LIBPATH}/libopencv_core*
91            ${opencv_LIBPATH}/libopencv_imgcodecs*
92            ${opencv_LIBPATH}/libopencv_imgproc*
93            )
94    install(
95            FILES ${OPENCV_LIB_LIST}
96            DESTINATION ${INSTALL_LIB_DIR}
97            COMPONENT mindspore
98    )
99    file(GLOB_RECURSE JEMALLOC_LIB_LIST
100            ${jemalloc_LIBPATH}/libjemalloc*
101            )
102    install(
103            FILES ${JEMALLOC_LIB_LIST}
104            DESTINATION ${INSTALL_LIB_DIR}
105            COMPONENT mindspore
106    )
107    file(GLOB_RECURSE TINYXML2_LIB_LIST ${tinyxml2_LIBPATH}/libtinyxml2*)
108    install(
109            FILES ${TINYXML2_LIB_LIST}
110            DESTINATION ${INSTALL_LIB_DIR}
111            COMPONENT mindspore
112    )
113    file(GLOB_RECURSE ICU4C_LIB_LIST
114            ${icu4c_LIBPATH}/libicuuc*
115            ${icu4c_LIBPATH}/libicudata*
116            ${icu4c_LIBPATH}/libicui18n*
117            )
118    install(
119            FILES ${ICU4C_LIB_LIST}
120            DESTINATION ${INSTALL_LIB_DIR}
121            COMPONENT mindspore
122    )
123
124    if(ENABLE_ACL)
125        install(
126                TARGETS dvpp_utils
127                DESTINATION ${INSTALL_PLUGIN_DIR}/ascend
128                COMPONENT mindspore
129        )
130    endif()
131endif()
132
133# CPU mode
134if(ENABLE_CPU AND NOT WIN32)
135    install(
136            TARGETS ps_cache
137            DESTINATION ${INSTALL_LIB_DIR}
138            COMPONENT mindspore
139    )
140endif()
141
142if(ENABLE_CPU)
143    if(CMAKE_SYSTEM_NAME MATCHES "Linux")
144        file(GLOB_RECURSE DNNL_LIB_LIST ${onednn_LIBPATH}/libdnnl${CMAKE_SHARED_LIBRARY_SUFFIX}*)
145    elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin")
146        file(GLOB_RECURSE DNNL_LIB_LIST ${onednn_LIBPATH}/libdnnl*${CMAKE_SHARED_LIBRARY_SUFFIX}*)
147    elseif(CMAKE_SYSTEM_NAME MATCHES "Windows")
148        file(GLOB_RECURSE DNNL_LIB_LIST ${onednn_LIBPATH}/dnnl.dll)
149    endif()
150    install(
151            FILES ${DNNL_LIB_LIST}
152            DESTINATION ${INSTALL_LIB_DIR}
153            COMPONENT mindspore
154    )
155    install(
156            TARGETS nnacl
157            DESTINATION ${INSTALL_LIB_DIR}
158            COMPONENT mindspore
159    )
160endif()
161
162if(MS_BUILD_GRPC)
163    install(FILES ${grpc_LIBPATH}/libmindspore_grpc++.so.1.36.1
164            DESTINATION ${INSTALL_LIB_DIR} RENAME libmindspore_grpc++.so.1 COMPONENT mindspore)
165    install(FILES ${grpc_LIBPATH}/libmindspore_grpc.so.15.0.0
166            DESTINATION ${INSTALL_LIB_DIR} RENAME libmindspore_grpc.so.15 COMPONENT mindspore)
167    install(FILES ${grpc_LIBPATH}/libmindspore_gpr.so.15.0.0
168            DESTINATION ${INSTALL_LIB_DIR} RENAME libmindspore_gpr.so.15 COMPONENT mindspore)
169    install(FILES ${grpc_LIBPATH}/libmindspore_upb.so.15.0.0
170            DESTINATION ${INSTALL_LIB_DIR} RENAME libmindspore_upb.so.15 COMPONENT mindspore)
171    install(FILES ${grpc_LIBPATH}/libmindspore_address_sorting.so.15.0.0
172            DESTINATION ${INSTALL_LIB_DIR} RENAME libmindspore_address_sorting.so.15 COMPONENT mindspore)
173endif()
174
175## Public header files
176install(
177        DIRECTORY ${CMAKE_SOURCE_DIR}/include
178        DESTINATION ${INSTALL_BASE_DIR}
179        COMPONENT mindspore
180)
181
182## Public header files for mindapi
183install(
184        DIRECTORY ${CMAKE_SOURCE_DIR}/mindspore/core/mindapi/base
185        ${CMAKE_SOURCE_DIR}/mindspore/core/mindapi/ir
186        DESTINATION ${INSTALL_BASE_DIR}/include/mindapi
187        COMPONENT mindspore
188)
189
190## Public header files for minddata
191install(
192        FILES ${CMAKE_SOURCE_DIR}/mindspore/ccsrc/minddata/dataset/include/dataset/config.h
193        ${CMAKE_SOURCE_DIR}/mindspore/ccsrc/minddata/dataset/include/dataset/constants.h
194        ${CMAKE_SOURCE_DIR}/mindspore/ccsrc/minddata/dataset/include/dataset/execute.h
195        ${CMAKE_SOURCE_DIR}/mindspore/ccsrc/minddata/dataset/include/dataset/text.h
196        ${CMAKE_SOURCE_DIR}/mindspore/ccsrc/minddata/dataset/include/dataset/transforms.h
197        ${CMAKE_SOURCE_DIR}/mindspore/ccsrc/minddata/dataset/include/dataset/vision.h
198        ${CMAKE_SOURCE_DIR}/mindspore/ccsrc/minddata/dataset/include/dataset/vision_lite.h
199        ${CMAKE_SOURCE_DIR}/mindspore/ccsrc/minddata/dataset/include/dataset/vision_ascend.h
200        DESTINATION ${INSTALL_BASE_DIR}/include/dataset
201        COMPONENT mindspore
202)
203
204## config files
205install(
206        FILES ${CMAKE_SOURCE_DIR}/config/op_info.config
207        DESTINATION ${INSTALL_CFG_DIR}
208        COMPONENT mindspore
209)
210
211include(CPack)
212