• 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)
11if(PYTHON_VERSION MATCHES "3.10")
12    set(CPACK_PACKAGE_FILE_NAME mindspore.py310)
13elseif(PYTHON_VERSION MATCHES "3.9")
14    set(CPACK_PACKAGE_FILE_NAME mindspore.py39)
15elseif(PYTHON_VERSION MATCHES "3.8")
16    set(CPACK_PACKAGE_FILE_NAME mindspore.py38)
17elseif(PYTHON_VERSION MATCHES "3.7")
18    set(CPACK_PACKAGE_FILE_NAME mindspore.py37)
19else()
20    message("Could not find Python versions 3.7 - 3.10")
21    return()
22endif()
23
24set(CPACK_GENERATOR "ZIP")
25set(CPACK_PACKAGE_DIRECTORY ${CMAKE_SOURCE_DIR}/output)
26
27set(INSTALL_LIB_DIR ${CMAKE_INSTALL_LIBDIR} CACHE PATH "Installation directory for libraries")
28set(INSTALL_BASE_DIR ".")
29set(INSTALL_LIB_DIR "lib")
30set(INSTALL_PLUGIN_DIR "${INSTALL_LIB_DIR}/plugin")
31
32# set package files
33install(
34        TARGETS mindspore_shared_lib
35        DESTINATION ${INSTALL_LIB_DIR}
36        COMPONENT mindspore
37)
38
39if(ENABLE_D OR ENABLE_GPU)
40    install(
41            TARGETS api_lib
42            DESTINATION ${INSTALL_LIB_DIR}
43            COMPONENT mindspore
44    )
45endif()
46
47if(ENABLE_D)
48    install(
49            TARGETS mindspore_ascend LIBRARY
50            DESTINATION ${INSTALL_PLUGIN_DIR}
51            COMPONENT mindspore
52            NAMELINK_SKIP
53    )
54    if(ENABLE_MPI)
55        install(
56                TARGETS ascend_collective
57                DESTINATION ${INSTALL_PLUGIN_DIR}/ascend
58                COMPONENT mindspore
59        )
60        if(DEFINED ENV{MS_INTERNAL_KERNEL_HOME})
61            install(
62                    TARGETS lowlatency_collective
63                    DESTINATION ${INSTALL_PLUGIN_DIR}/ascend
64                    COMPONENT mindspore
65            )
66        endif()
67    endif()
68    install(
69            TARGETS hccl_plugin
70            DESTINATION ${INSTALL_PLUGIN_DIR}/ascend
71            COMPONENT mindspore
72    )
73    install(
74            TARGETS _c_dataengine
75            DESTINATION ${INSTALL_BASE_DIR}
76            COMPONENT mindspore
77    )
78    install(
79            DIRECTORY
80            ${CMAKE_SOURCE_DIR}/mindspore/python/mindspore/custom_compiler
81            DESTINATION ${INSTALL_PLUGIN_DIR}/ascend
82            COMPONENT mindspore
83    )
84endif()
85
86if(ENABLE_ACL)
87    install(
88            TARGETS dvpp_utils
89            DESTINATION ${INSTALL_PLUGIN_DIR}/ascend
90            COMPONENT mindspore
91    )
92endif()
93
94if(ENABLE_GPU)
95    install(
96            TARGETS mindspore_gpu LIBRARY
97            DESTINATION ${INSTALL_PLUGIN_DIR}
98            COMPONENT mindspore
99            NAMELINK_SKIP
100    )
101    if(ENABLE_MPI)
102        install(
103                TARGETS nvidia_collective
104                DESTINATION ${INSTALL_PLUGIN_DIR}/gpu${CUDA_VERSION}
105                COMPONENT mindspore
106        )
107        if(CMAKE_SYSTEM_NAME MATCHES "Linux" AND GPU_BACKEND_CUDA)
108            install(FILES ${nccl_LIBPATH}/libnccl.so.2.16.5 DESTINATION ${INSTALL_PLUGIN_DIR}/gpu${CUDA_VERSION}
109                    RENAME libnccl.so.2 COMPONENT mindspore)
110        endif()
111    endif()
112    install(
113            TARGETS cuda_ops LIBRARY
114            DESTINATION ${INSTALL_PLUGIN_DIR}/gpu${CUDA_VERSION}
115            COMPONENT mindspore
116            NAMELINK_SKIP
117    )
118endif()
119
120if(ENABLE_AKG AND CMAKE_SYSTEM_NAME MATCHES "Linux")
121    if(ENABLE_GPU)
122        install(
123                TARGETS akg
124                DESTINATION ${INSTALL_PLUGIN_DIR}/gpu${CUDA_VERSION}
125                COMPONENT mindspore
126        )
127    endif()
128
129    if(ENABLE_D)
130        install(
131                TARGETS akg
132                DESTINATION ${INSTALL_PLUGIN_DIR}/ascend
133                COMPONENT mindspore
134        )
135    endif()
136endif()
137
138if(ENABLE_D)
139if(DEFINED ENV{MS_INTERNAL_KERNEL_HOME})
140        set(_MS_INTERNAL_KERNEL_HOME $ENV{MS_INTERNAL_KERNEL_HOME})
141        install(
142            DIRECTORY ${_MS_INTERNAL_KERNEL_HOME}
143            DESTINATION ${INSTALL_PLUGIN_DIR}/ascend
144            COMPONENT mindspore
145        )
146    endif()
147endif()
148
149if(ENABLE_SYM_FILE)
150    install(CODE "\
151      execute_process(COMMAND ${CMAKE_COMMAND} -DMS_PACK_ROOT_DIR=${CPACK_PACKAGE_DIRECTORY} \
152        -DMS_INSTALL_DIR=${CPACK_PACKAGE_DIRECTORY}/_CPack_Packages/${CMAKE_HOST_SYSTEM_NAME}/${CPACK_GENERATOR} \
153        -DMS_PACKAGE_FILE_NAME=${CPACK_PACKAGE_FILE_NAME} -P ${CMAKE_SOURCE_DIR}/cmake/plugin_debuginfo_script.cmake)"
154    )
155endif()
156
157include(CPack)
158