cmake_minimum_required(VERSION 3.14)
set(PRODUCT_SIDE "device")
set(HCOMM_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../" CACHE PATH "Project top directory")
include(${HCOMM_DIR}/cmake/fetch_cann_cmake.cmake)
project(hcomm_device)
init_cann_project(PREPEND_MODULE_PATH)
message(STATUS "BUILD_OPEN_PROJECT=${BUILD_OPEN_PROJECT}")
message(STATUS "ASCEND_INSTALL_PATH=${ASCEND_INSTALL_PATH}")
message(STATUS "CANN_3RD_LIB_PATH=${CANN_3RD_LIB_PATH}")
include(${HCOMM_DIR}/cmake/config.cmake)
include(${HCOMM_DIR}/cmake/func.cmake)
include(${HCOMM_DIR}/version.cmake)
find_cann_package(acl_rt MODULE REQUIRED)
find_cann_package(aicpu_sharder MODULE REQUIRED)
find_cann_package(asc_devkit MODULE REQUIRED)
find_cann_package(ascend_hal MODULE REQUIRED)
find_cann_package(atrace MODULE REQUIRED)
find_cann_package(error_manager MODULE REQUIRED)
find_cann_package(metadef MODULE REQUIRED)
find_cann_package(mmpa MODULE REQUIRED)
find_cann_package(msprof MODULE REQUIRED)
find_cann_package(runtime MODULE REQUIRED)
find_cann_package(securec MODULE REQUIRED)
find_cann_package(unified_dlog MODULE REQUIRED)
include(${HCOMM_DIR}/cmake/hcomm_utils.cmake)
include(${HCOMM_DIR}/cmake/third_party/ubengine.cmake)
add_cann_third_party(json)
add_cann_third_party(openssl)
add_cann_third_party(rdma-core)
add_cann_subdirectories_relative(${HCOMM_DIR}
${HCOMM_DIR}/src
)
cann_pack_targets_and_files(
OUTPUT_TARGET "pack_cann_hcomm_compat"
OUTPUT "cann-hcomm-compat.tar.gz"
TARGETS rs_device ra_adp net_co hccp_service.bin tls_adp ascend_kms
MANIFEST "hccp_compat_bin_hash.cfg"
SIZE_LIMIT 3968
GEN_INI
)
sign_file(
OUTPUT_TARGET sign_cann_hcomm_compat
INPUT "cann-hcomm-compat.tar.gz"
CONFIG "${HCOMM_DIR}/scripts/sign/hcomm_check_cfg.xml"
RESULT_VAR "cann_hcomm_compat_signed_file"
DEPENDS pack_cann_hcomm_compat
)
cann_pack_targets_and_files(
OUTPUT_TARGET "pack_cann_hccd_compat"
OUTPUT "cann-hccd-compat.tar.gz"
TARGETS rs ra ra_hdc ra_peer hccd tls_adp ascend_kms
MANIFEST "bin_hash.cfg"
TAR_ROOT_DIR "lib64"
)
sign_file(
OUTPUT_TARGET sign_cann_hccd_compat
INPUT "cann-hccd-compat.tar.gz"
CONFIG "${HCOMM_DIR}/scripts/sign/hcomm_check_cfg.xml"
RESULT_VAR "cann_hccd_compat_signed_file"
DEPENDS pack_cann_hccd_compat sign_cann_hcomm_compat
)
pack_targets_and_files(
OUTPUT_TARGET "pack_aicpu_hcomm"
OUTPUT "aicpu_hcomm.tar.gz"
TARGETS ccl_kernel ccl_kernel_plf
MANIFEST "bin_hash.cfg"
TAR_ROOT_DIR "aicpu_kernels_device"
)
sign_file(
OUTPUT_TARGET sign_aicpu_hcomm
INPUT "aicpu_hcomm.tar.gz"
CONFIG "${HCOMM_DIR}/scripts/sign/hcomm_check_cfg.xml"
RESULT_VAR "aicpu_hcomm_signed_file"
DEPENDS pack_aicpu_hcomm sign_cann_hccd_compat
)
install(FILES ${cann_hcomm_compat_signed_file}
DESTINATION ${INSTALL_DEVICE_TAR_DIR} ${INSTALL_OPTIONAL}
COMPONENT hcomm
PERMISSIONS OWNER_READ GROUP_READ
)
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/cann-hcomm-compat.ini
DESTINATION ${INSTALL_DEVICE_TAR_DIR} ${INSTALL_OPTIONAL}
COMPONENT hcomm
)
install(FILES ${cann_hccd_compat_signed_file}
DESTINATION ${INSTALL_DEVICE_TAR_DIR} ${INSTALL_OPTIONAL}
COMPONENT hcomm
PERMISSIONS OWNER_READ GROUP_READ
)
install(FILES ${aicpu_hcomm_signed_file}
DESTINATION ${INSTALL_CCL_KERNEL_JSON_DIR}/kernel ${INSTALL_OPTIONAL}
COMPONENT hcomm
)
set_cann_subprj_package()