51
csrc/cmake/makeself_custom.cmake
Normal file
51
csrc/cmake/makeself_custom.cmake
Normal file
@@ -0,0 +1,51 @@
|
||||
# -----------------------------------------------------------------------------------------------------------
|
||||
# Copyright (c) 2025 Huawei Technologies Co., Ltd.
|
||||
# This program is free software, you can redistribute it and/or modify it under the terms and conditions of
|
||||
# CANN Open Software License Agreement Version 2.0 (the "License").
|
||||
# Please refer to the License for details. You may not use this file except in compliance with the License.
|
||||
# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
|
||||
# INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
# See LICENSE in the root of the software repository for the full text of the License.
|
||||
# -----------------------------------------------------------------------------------------------------------
|
||||
# makeself_custom.cmake - 自定义 makeself 打包脚本
|
||||
|
||||
# 设置 makeself 路径
|
||||
set(MAKESELF_EXE ${CPACK_MAKESELF_PATH}/makeself.sh)
|
||||
set(MAKESELF_HEADER_EXE ${CPACK_MAKESELF_PATH}/makeself-header.sh)
|
||||
if(NOT MAKESELF_EXE)
|
||||
message(FATAL_ERROR "makeself not found!")
|
||||
endif()
|
||||
|
||||
execute_process(COMMAND bash ${MAKESELF_EXE}
|
||||
--header ${MAKESELF_HEADER_EXE}
|
||||
--help-header ./help.info --tar-format posix
|
||||
--gzip --complevel 4 --nomd5 --sha256
|
||||
./ ${CPACK_PACKAGE_FILE_NAME} "version:1.0" ./install.sh
|
||||
WORKING_DIRECTORY ${CPACK_TEMPORARY_DIRECTORY}
|
||||
RESULT_VARIABLE EXEC_RESULT
|
||||
ERROR_VARIABLE EXEC_ERROR
|
||||
)
|
||||
|
||||
if (NOT "${EXEC_RESULT}x" STREQUAL "0x")
|
||||
message(FATAL_ERROR "CPack Command error: ${EXEC_RESULT}\n${EXEC_ERROR}")
|
||||
endif()
|
||||
|
||||
execute_process(COMMAND cp ${CPACK_EXTERNAL_BUILT_PACKAGES} ${CPACK_PACKAGE_DIRECTORY}/
|
||||
COMMAND echo "Copy ${CPACK_EXTERNAL_BUILT_PACKAGES} to ${CPACK_PACKAGE_DIRECTORY}/"
|
||||
WORKING_DIRECTORY ${CPACK_TEMPORARY_DIRECTORY}
|
||||
)
|
||||
|
||||
if (NOT "${CPACK_PACKAGE_DIRECTORY}x" STREQUAL "${CPACK_INSTALL_PREFIX}x")
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${CPACK_INSTALL_PREFIX}
|
||||
WORKING_DIRECTORY ${CPACK_TEMPORARY_DIRECTORY}
|
||||
)
|
||||
|
||||
execute_process(
|
||||
COMMAND cp ${CPACK_EXTERNAL_BUILT_PACKAGES} ${CPACK_INSTALL_PREFIX}/
|
||||
COMMAND echo "Copy ${CPACK_EXTERNAL_BUILT_PACKAGES} to ${CPACK_INSTALL_PREFIX}/"
|
||||
WORKING_DIRECTORY ${CPACK_TEMPORARY_DIRECTORY}
|
||||
)
|
||||
endif()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user