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