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