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