Merged
统一patch到third_party/patch目录,mockcpp补丁下载从configure迁移至build阶段 #272
zhaoyingdongAdd on Aug 11
统一patch到third_party/patch目录,mockcpp补丁下载从configure迁移至build阶段 #272
Merged
Merged fromDeleted :masterintocann/cmakemaster
Total: 32 files changed+163-140
| @@ -76,6 +76,7 @@ else() | |||
| 76 | DOWNLOAD_DIR ${ABS_PKG_DIR} | 76 | DOWNLOAD_DIR ${ABS_PKG_DIR} |
| 77 | DOWNLOAD_NO_EXTRACT TRUE | 77 | DOWNLOAD_NO_EXTRACT TRUE |
| 78 | DOWNLOAD_NO_PROGRESS TRUE | 78 | DOWNLOAD_NO_PROGRESS TRUE |
| 79 | + TIMEOUT 60 | ||
| 79 | UPDATE_COMMAND "" | 80 | UPDATE_COMMAND "" |
| 80 | CONFIGURE_COMMAND "" | 81 | CONFIGURE_COMMAND "" |
| 81 | BUILD_COMMAND "" | 82 | BUILD_COMMAND "" |
| @@ -90,7 +91,8 @@ else() | |||
| 90 | URL_HASH SHA256=987ce98f02eefbaf930d6e38ab16aa05737234d7afbab2d5c4ea7adbe50c28ed | 91 | URL_HASH SHA256=987ce98f02eefbaf930d6e38ab16aa05737234d7afbab2d5c4ea7adbe50c28ed |
| 91 | DOWNLOAD_DIR ${ABS_PKG_DIR} | 92 | DOWNLOAD_DIR ${ABS_PKG_DIR} |
| 92 | SOURCE_DIR ${ABS_INSTALL_DIR} | 93 | SOURCE_DIR ${ABS_INSTALL_DIR} |
| 93 | - PATCH_COMMAND patch -p1 < ${CMAKE_CURRENT_LIST_DIR}/protobuf-hide_absl_symbols.patch && patch -p1 < ${ABSL_CVE_PATCH_FILE} && patch -p1 < ${CMAKE_CURRENT_LIST_DIR}/patch/fix-gcc15-gcc16-container-memory-cstdint.patch | 94 | + TIMEOUT 300 |
| 95 | + PATCH_COMMAND patch -p1 < ${CMAKE_CURRENT_LIST_DIR}/patch/protobuf-hide_absl_symbols.patch && patch -p1 < ${ABSL_CVE_PATCH_FILE} && patch -p1 < ${CMAKE_CURRENT_LIST_DIR}/patch/fix-gcc15-gcc16-container-memory-cstdint.patch | ||
| 94 | CONFIGURE_COMMAND "" | 96 | CONFIGURE_COMMAND "" |
| 95 | BUILD_COMMAND "" | 97 | BUILD_COMMAND "" |
| 96 | INSTALL_COMMAND "" | 98 | INSTALL_COMMAND "" |
| @@ -1,9 +1,9 @@ | |||
| 1 | # ----------------------------------------------------------------------------------------------------------- | 1 | # ----------------------------------------------------------------------------------------------------------- |
| 2 | # Copyright (c) 2025 Huawei Technologies Co., Ltd. | 2 | # Copyright (c) 2025 Huawei Technologies Co., Ltd. |
| 3 | -# This program is free software, you can redistribute it and/or modify it under the terms and conditions of | 3 | +# This program is free software, you can redistribute it and/or modify it under the terms and conditions of |
| 4 | # CANN Open Software License Agreement Version 2.0 (the "License"). | 4 | # CANN Open Software License Agreement Version 2.0 (the "License"). |
| 5 | # Please refer to the License for details. You may not use this file except in compliance with the License. | 5 | # Please refer to the License for details. You may not use this file except in compliance with the License. |
| 6 | -# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, | 6 | +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, |
| 7 | # INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. | 7 | # INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. |
| 8 | # See LICENSE in the root of the software repository for the full text of the License. | 8 | # See LICENSE in the root of the software repository for the full text of the License. |
| 9 | # ----------------------------------------------------------------------------------------------------------- | 9 | # ----------------------------------------------------------------------------------------------------------- |
| @@ -12,7 +12,7 @@ include_guard(GLOBAL) | |||
| 12 | set(BENCHMARK_INSTALL_PATH ${CANN_3RD_LIB_PATH}/lib_cache/benchmark) | 12 | set(BENCHMARK_INSTALL_PATH ${CANN_3RD_LIB_PATH}/lib_cache/benchmark) |
| 13 | set(BENCHMARK_DOWNLOAD_PATH ${CANN_3RD_LIB_PATH}/benchmark) | 13 | set(BENCHMARK_DOWNLOAD_PATH ${CANN_3RD_LIB_PATH}/benchmark) |
| 14 | set(BENCHMARK_SHARED_LLIBRARY_DIR ${BENCHMARK_INSTALL_PATH}/lib/libbenchmark.so) | 14 | set(BENCHMARK_SHARED_LLIBRARY_DIR ${BENCHMARK_INSTALL_PATH}/lib/libbenchmark.so) |
| 15 | -set(BENCHMARK_INCLUDE_DIR ${BENCHMARK_INSTALL_PATH}/incldue) | 15 | +set(BENCHMARK_INCLUDE_DIR ${BENCHMARK_INSTALL_PATH}/include) |
| 16 | if(NOT EXISTS ${BENCHMARK_INCLUDE_DIR}) | 16 | if(NOT EXISTS ${BENCHMARK_INCLUDE_DIR}) |
| 17 | file(MAKE_DIRECTORY "${BENCHMARK_INCLUDE_DIR}") | 17 | file(MAKE_DIRECTORY "${BENCHMARK_INCLUDE_DIR}") |
| 18 | endif() | 18 | endif() |
| @@ -47,11 +47,14 @@ set(benchmark_CXXFLAGS "-D_GLIBCXX_USE_CXX11_ABI=${USE_CXX11_ABI} -D_FORTIFY_SOU | |||
| 47 | ExternalProject_Add(benchmark_build | 47 | ExternalProject_Add(benchmark_build |
| 48 | URL ${REQ_URL} | 48 | URL ${REQ_URL} |
| 49 | URL_HASH SHA256=6bc180a57d23d4d9515519f92b0c83d61b05b5bab188961f36ac7b06b0d9e9ce | 49 | URL_HASH SHA256=6bc180a57d23d4d9515519f92b0c83d61b05b5bab188961f36ac7b06b0d9e9ce |
| 50 | + TIMEOUT 300 | ||
| 50 | ${BENCHMARK_EXTRA_ARGS} | 51 | ${BENCHMARK_EXTRA_ARGS} |
| 51 | CONFIGURE_COMMAND ${CMAKE_COMMAND} | 52 | CONFIGURE_COMMAND ${CMAKE_COMMAND} |
| 52 | -DBENCHMARK_ENABLE_GTEST_TESTS=OFF | 53 | -DBENCHMARK_ENABLE_GTEST_TESTS=OFF |
| 53 | -DCMAKE_BUILD_TYPE=Release | 54 | -DCMAKE_BUILD_TYPE=Release |
| 54 | -DCMAKE_CXX_FLAGS=${benchmark_CXXFLAGS} | 55 | -DCMAKE_CXX_FLAGS=${benchmark_CXXFLAGS} |
| 56 | + -DCMAKE_C_COMPILER_LAUNCHER=${CMAKE_C_COMPILER_LAUNCHER} | ||
| 57 | + -DCMAKE_CXX_COMPILER_LAUNCHER=${CMAKE_CXX_COMPILER_LAUNCHER} | ||
| 55 | -DCMAKE_INSTALL_PREFIX=${BENCHMARK_INSTALL_PATH} | 58 | -DCMAKE_INSTALL_PREFIX=${BENCHMARK_INSTALL_PATH} |
| 56 | -DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR} | 59 | -DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR} |
| 57 | -DLLVM_PATH=${LLVM_PATH} | 60 | -DLLVM_PATH=${LLVM_PATH} |
| @@ -55,6 +55,7 @@ else() | |||
| 55 | ExternalProject_Add(third_party_boost | 55 | ExternalProject_Add(third_party_boost |
| 56 | URL ${REQ_URL} | 56 | URL ${REQ_URL} |
| 57 | URL_HASH SHA256=f55c340aa49763b1925ccf02b2e83f35fdcf634c9d5164a2acb87540173c741d | 57 | URL_HASH SHA256=f55c340aa49763b1925ccf02b2e83f35fdcf634c9d5164a2acb87540173c741d |
| 58 | + TIMEOUT 600 | ||
| 58 | DOWNLOAD_DIR ${BOOST_DOWNLOAD_PATH} | 59 | DOWNLOAD_DIR ${BOOST_DOWNLOAD_PATH} |
| 59 | SOURCE_DIR ${BOOST_SRC_PATH} | 60 | SOURCE_DIR ${BOOST_SRC_PATH} |
| 60 | CONFIGURE_COMMAND "" # 无需编译,只需解压 | 61 | CONFIGURE_COMMAND "" # 无需编译,只需解压 |
| @@ -1,9 +1,9 @@ | |||
| 1 | # ----------------------------------------------------------------------------------------------------------- | 1 | # ----------------------------------------------------------------------------------------------------------- |
| 2 | # Copyright (c) 2025 Huawei Technologies Co., Ltd. | 2 | # Copyright (c) 2025 Huawei Technologies Co., Ltd. |
| 3 | -# This program is free software, you can redistribute it and/or modify it under the terms and conditions of | 3 | +# This program is free software, you can redistribute it and/or modify it under the terms and conditions of |
| 4 | # CANN Open Software License Agreement Version 2.0 (the "License"). | 4 | # CANN Open Software License Agreement Version 2.0 (the "License"). |
| 5 | # Please refer to the License for details. You may not use this file except in compliance with the License. | 5 | # Please refer to the License for details. You may not use this file except in compliance with the License. |
| 6 | -# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, | 6 | +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, |
| 7 | # INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. | 7 | # INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. |
| 8 | # See LICENSE in the root of the software repository for the full text of the License. | 8 | # See LICENSE in the root of the software repository for the full text of the License. |
| 9 | # ----------------------------------------------------------------------------------------------------------- | 9 | # ----------------------------------------------------------------------------------------------------------- |
| @@ -43,6 +43,7 @@ else() | |||
| 43 | ExternalProject_Add(cares_build | 43 | ExternalProject_Add(cares_build |
| 44 | URL ${REQ_URL} | 44 | URL ${REQ_URL} |
| 45 | URL_HASH SHA256=321700399b72ed0e037d0074c629e7741f6b2ec2dda92956abe3e9671d3e268e | 45 | URL_HASH SHA256=321700399b72ed0e037d0074c629e7741f6b2ec2dda92956abe3e9671d3e268e |
| 46 | + TIMEOUT 300 | ||
| 46 | DOWNLOAD_DIR ${CARES_PKG_PATH} | 47 | DOWNLOAD_DIR ${CARES_PKG_PATH} |
| 47 | SOURCE_DIR ${CARES_INTALL_PATH} | 48 | SOURCE_DIR ${CARES_INTALL_PATH} |
| 48 | CONFIGURE_COMMAND "" | 49 | CONFIGURE_COMMAND "" |
| @@ -82,6 +82,7 @@ else() | |||
| 82 | ExternalProject_Add(csec_src | 82 | ExternalProject_Add(csec_src |
| 83 | URL ${REQ_URL} | 83 | URL ${REQ_URL} |
| 84 | URL_HASH SHA256=aee8368ef04a42a499edd5bfebce529e7f32dd138bfed383d316e48af4e45d2c | 84 | URL_HASH SHA256=aee8368ef04a42a499edd5bfebce529e7f32dd138bfed383d316e48af4e45d2c |
| 85 | + TIMEOUT 300 | ||
| 85 | DOWNLOAD_DIR ${CSEC_DOWNLOAD_DIR} | 86 | DOWNLOAD_DIR ${CSEC_DOWNLOAD_DIR} |
| 86 | SOURCE_DIR ${CSEC_SOURCE_DIR} | 87 | SOURCE_DIR ${CSEC_SOURCE_DIR} |
| 87 | PATCH_COMMAND ${CMAKE_COMMAND} | 88 | PATCH_COMMAND ${CMAKE_COMMAND} |
| @@ -78,4 +78,4 @@ if("${MAKEFILE_CONTENT}" STREQUAL "") | |||
| 78 | endif() | 78 | endif() |
| 79 | 79 | ||
| 80 | file(WRITE "${MAKEFILE}" "${MAKEFILE_CONTENT}") | 80 | file(WRITE "${MAKEFILE}" "${MAKEFILE_CONTENT}") |
| 81 | -message(STATUS "Successfully patched Makefile at ${MAKEFILE}") | 81 | +message(STATUS "Successfully patched Makefile at ${MAKEFILE}") |
| @@ -31,6 +31,7 @@ include(ExternalProject) | |||
| 31 | ExternalProject_Add(external_eigen | 31 | ExternalProject_Add(external_eigen |
| 32 | URL ${REQ_URL} | 32 | URL ${REQ_URL} |
| 33 | URL_HASH SHA256=93f7f0462988b934e632a9fba58af55192ffceae38e8f46233f4f62cb1e79370 | 33 | URL_HASH SHA256=93f7f0462988b934e632a9fba58af55192ffceae38e8f46233f4f62cb1e79370 |
| 34 | + TIMEOUT 300 | ||
| 34 | DOWNLOAD_DIR ${CANN_3RD_LIB_PATH}/pkg | 35 | DOWNLOAD_DIR ${CANN_3RD_LIB_PATH}/pkg |
| 35 | PREFIX third_party | 36 | PREFIX third_party |
| 36 | INSTALL_COMMAND "" | 37 | INSTALL_COMMAND "" |
| @@ -48,4 +49,4 @@ set_target_properties(Eigen PROPERTIES | |||
| 48 | ) | 49 | ) |
| 49 | add_dependencies(Eigen external_eigen) | 50 | add_dependencies(Eigen external_eigen) |
| 50 | 51 | ||
| 51 | -add_library(Eigen3::Eigen ALIAS Eigen) | 52 | +add_library(Eigen3::Eigen ALIAS Eigen) |
| @@ -1,9 +1,9 @@ | |||
| 1 | # ----------------------------------------------------------------------------------------------------------- | 1 | # ----------------------------------------------------------------------------------------------------------- |
| 2 | # Copyright (c) 2025 Huawei Technologies Co., Ltd. | 2 | # Copyright (c) 2025 Huawei Technologies Co., Ltd. |
| 3 | -# This program is free software, you can redistribute it and/or modify it under the terms and conditions of | 3 | +# This program is free software, you can redistribute it and/or modify it under the terms and conditions of |
| 4 | # CANN Open Software License Agreement Version 2.0 (the "License"). | 4 | # CANN Open Software License Agreement Version 2.0 (the "License"). |
| 5 | # Please refer to the License for details. You may not use this file except in compliance with the License. | 5 | # Please refer to the License for details. You may not use this file except in compliance with the License. |
| 6 | -# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, | 6 | +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, |
| 7 | # INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. | 7 | # INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. |
| 8 | # See LICENSE in the root of the software repository for the full text of the License. | 8 | # See LICENSE in the root of the software repository for the full text of the License. |
| 9 | # ----------------------------------------------------------------------------------------------------------- | 9 | # ----------------------------------------------------------------------------------------------------------- |
| @@ -30,7 +30,7 @@ if(NOT EXISTS ${GRPC_INCLUDE_DIR}) | |||
| 30 | endif() | 30 | endif() |
| 31 | set(GRPC_STATIC_LIB ${GRPC_INSTALL_PATH}/lib/libgrpc.a) | 31 | set(GRPC_STATIC_LIB ${GRPC_INSTALL_PATH}/lib/libgrpc.a) |
| 32 | set(GRPCXX_STATIC_LIB ${GRPC_INSTALL_PATH}/lib/libgrpc++.a) | 32 | set(GRPCXX_STATIC_LIB ${GRPC_INSTALL_PATH}/lib/libgrpc++.a) |
| 33 | - | 33 | + |
| 34 | set(GRPC_INTERFACE_LINK_LIBRARIES | 34 | set(GRPC_INTERFACE_LINK_LIBRARIES |
| 35 | ${GRPC_INSTALL_PATH}/lib/libupb_collections_lib.a | 35 | ${GRPC_INSTALL_PATH}/lib/libupb_collections_lib.a |
| 36 | ${GRPC_INSTALL_PATH}/lib/libupb_json_lib.a | 36 | ${GRPC_INSTALL_PATH}/lib/libupb_json_lib.a |
| @@ -119,21 +119,21 @@ set(GRPC_INTERFACE_LINK_LIBRARIES | |||
| 119 | ${GRPC_INSTALL_PATH}/lib/libabsl_raw_logging_internal.a | 119 | ${GRPC_INSTALL_PATH}/lib/libabsl_raw_logging_internal.a |
| 120 | ${GRPC_INSTALL_PATH}/lib/libabsl_log_severity.a | 120 | ${GRPC_INSTALL_PATH}/lib/libabsl_log_severity.a |
| 121 | ) | 121 | ) |
| 122 | - | 122 | + |
| 123 | add_library(gRPC::grpc STATIC IMPORTED) | 123 | add_library(gRPC::grpc STATIC IMPORTED) |
| 124 | set_target_properties(gRPC::grpc PROPERTIES | 124 | set_target_properties(gRPC::grpc PROPERTIES |
| 125 | IMPORTED_LOCATION "${GRPC_STATIC_LIB}" | 125 | IMPORTED_LOCATION "${GRPC_STATIC_LIB}" |
| 126 | INTERFACE_INCLUDE_DIRECTORIES "${GRPC_INCLUDE_DIR}" | 126 | INTERFACE_INCLUDE_DIRECTORIES "${GRPC_INCLUDE_DIR}" |
| 127 | INTERFACE_LINK_LIBRARIES "dl;m;Threads::Threads;rt;${GRPC_INTERFACE_LINK_LIBRARIES};OpenSSL::SSL;OpenSSL::Crypto" | 127 | INTERFACE_LINK_LIBRARIES "dl;m;Threads::Threads;rt;${GRPC_INTERFACE_LINK_LIBRARIES};OpenSSL::SSL;OpenSSL::Crypto" |
| 128 | ) | 128 | ) |
| 129 | - | 129 | + |
| 130 | add_library(gRPC::grpc++ STATIC IMPORTED) | 130 | add_library(gRPC::grpc++ STATIC IMPORTED) |
| 131 | set_target_properties(gRPC::grpc++ PROPERTIES | 131 | set_target_properties(gRPC::grpc++ PROPERTIES |
| 132 | IMPORTED_LOCATION "${GRPCXX_STATIC_LIB}" | 132 | IMPORTED_LOCATION "${GRPCXX_STATIC_LIB}" |
| 133 | INTERFACE_INCLUDE_DIRECTORIES "${GRPC_INCLUDE_DIR}" | 133 | INTERFACE_INCLUDE_DIRECTORIES "${GRPC_INCLUDE_DIR}" |
| 134 | INTERFACE_LINK_LIBRARIES "dl;m;Threads::Threads;rt;gRPC::grpc;${GRPC_INSTALL_PATH}/lib/libprotobuf.a" | 134 | INTERFACE_LINK_LIBRARIES "dl;m;Threads::Threads;rt;gRPC::grpc;${GRPC_INSTALL_PATH}/lib/libprotobuf.a" |
| 135 | ) | 135 | ) |
| 136 | - | 136 | + |
| 137 | if(EXISTS ${GRPC_STATIC_LIB} AND EXISTS ${GRPCXX_STATIC_LIB}) | 137 | if(EXISTS ${GRPC_STATIC_LIB} AND EXISTS ${GRPCXX_STATIC_LIB}) |
| 138 | message(STATUS "[ThirdParty][grpc] grpc found, skip compiling.") | 138 | message(STATUS "[ThirdParty][grpc] grpc found, skip compiling.") |
| 139 | else() | 139 | else() |
| @@ -151,14 +151,15 @@ else() | |||
| 151 | DOWNLOAD_DIR ${CANN_3RD_LIB_PATH}/pkg | 151 | DOWNLOAD_DIR ${CANN_3RD_LIB_PATH}/pkg |
| 152 | ) | 152 | ) |
| 153 | endif() | 153 | endif() |
| 154 | - | 154 | + |
| 155 | set(GRPC_CXX_FLAGS "-Wl,-z,relro,-z,now,-z,noexecstack -D_FORTIFY_SOURCE=2 -O2 -fstack-protector-all -s -D_GLIBCXX_USE_CXX11_ABI=${USE_CXX11_ABI}") | 155 | set(GRPC_CXX_FLAGS "-Wl,-z,relro,-z,now,-z,noexecstack -D_FORTIFY_SOURCE=2 -O2 -fstack-protector-all -s -D_GLIBCXX_USE_CXX11_ABI=${USE_CXX11_ABI}") |
| 156 | ExternalProject_Add(grpc_build | 156 | ExternalProject_Add(grpc_build |
| 157 | URL ${REQ_URL} | 157 | URL ${REQ_URL} |
| 158 | URL_HASH SHA256=437068b8b777d3b339da94d3498f1dc20642ac9bfa76db43abdd522186b1542b | 158 | URL_HASH SHA256=437068b8b777d3b339da94d3498f1dc20642ac9bfa76db43abdd522186b1542b |
| 159 | + TIMEOUT 300 | ||
| 159 | ${GRPC_EXTRA_ARGS} | 160 | ${GRPC_EXTRA_ARGS} |
| 160 | PATCH_COMMAND ${CMAKE_COMMAND} -E make_directory <SOURCE_DIR>/third_party/opencensus-proto/src | 161 | PATCH_COMMAND ${CMAKE_COMMAND} -E make_directory <SOURCE_DIR>/third_party/opencensus-proto/src |
| 161 | - COMMAND patch -p1 < ${CMAKE_CURRENT_LIST_DIR}/grpc-fix-compile-bug-in-device.patch | 162 | + COMMAND patch -p1 < ${CMAKE_CURRENT_LIST_DIR}/patch/grpc-fix-compile-bug-in-device.patch |
| 162 | CONFIGURE_COMMAND ${CMAKE_COMMAND} | 163 | CONFIGURE_COMMAND ${CMAKE_COMMAND} |
| 163 | # zlib | 164 | # zlib |
| 164 | -DgRPC_ZLIB_PROVIDER=module | 165 | -DgRPC_ZLIB_PROVIDER=module |
| @@ -237,9 +238,10 @@ else() | |||
| 237 | ExternalProject_Add(protoc_grpc_build | 238 | ExternalProject_Add(protoc_grpc_build |
| 238 | URL ${REQ_URL} | 239 | URL ${REQ_URL} |
| 239 | URL_HASH SHA256=437068b8b777d3b339da94d3498f1dc20642ac9bfa76db43abdd522186b1542b | 240 | URL_HASH SHA256=437068b8b777d3b339da94d3498f1dc20642ac9bfa76db43abdd522186b1542b |
| 241 | + TIMEOUT 300 | ||
| 240 | ${GRPC_EXTRA_ARGS} | 242 | ${GRPC_EXTRA_ARGS} |
| 241 | PATCH_COMMAND ${CMAKE_COMMAND} -E make_directory <SOURCE_DIR>/third_party/opencensus-proto/src | 243 | PATCH_COMMAND ${CMAKE_COMMAND} -E make_directory <SOURCE_DIR>/third_party/opencensus-proto/src |
| 242 | - COMMAND patch -p1 < ${CMAKE_CURRENT_LIST_DIR}/grpc-fix-compile-bug-in-device.patch | 244 | + COMMAND patch -p1 < ${CMAKE_CURRENT_LIST_DIR}/patch/grpc-fix-compile-bug-in-device.patch |
| 243 | CONFIGURE_COMMAND ${CMAKE_COMMAND} | 245 | CONFIGURE_COMMAND ${CMAKE_COMMAND} |
| 244 | # zlib | 246 | # zlib |
| 245 | -DgRPC_ZLIB_PROVIDER=none | 247 | -DgRPC_ZLIB_PROVIDER=none |
| @@ -107,6 +107,7 @@ else() | |||
| 107 | ExternalProject_Add(third_party_gtest | 107 | ExternalProject_Add(third_party_gtest |
| 108 | URL ${GTEST_PROJECT_URL} | 108 | URL ${GTEST_PROJECT_URL} |
| 109 | URL_HASH SHA256=8ad598c73ad796e0d8280b082cebd82a630d73e73cd3c70057938a6501bba5d7 | 109 | URL_HASH SHA256=8ad598c73ad796e0d8280b082cebd82a630d73e73cd3c70057938a6501bba5d7 |
| 110 | + TIMEOUT 300 | ||
| 110 | DOWNLOAD_DIR ${GTEST_DOWNLOAD_PATH} | 111 | DOWNLOAD_DIR ${GTEST_DOWNLOAD_PATH} |
| 111 | CONFIGURE_COMMAND ${CMAKE_COMMAND} | 112 | CONFIGURE_COMMAND ${CMAKE_COMMAND} |
| 112 | -DCMAKE_C_COMPILER_LAUNCHER=${CMAKE_C_COMPILER_LAUNCHER} | 113 | -DCMAKE_C_COMPILER_LAUNCHER=${CMAKE_C_COMPILER_LAUNCHER} |
| @@ -150,4 +151,4 @@ set_target_properties(GTest::gmock PROPERTIES | |||
| 150 | IMPORTED_LOCATION ${GTEST_INSTALL_PATH}/lib/libgmock.a | 151 | IMPORTED_LOCATION ${GTEST_INSTALL_PATH}/lib/libgmock.a |
| 151 | ) | 152 | ) |
| 152 | 153 | ||
| 153 | -message(STATUS "[ThirdParty][gtest] configured successfully.") | 154 | +message(STATUS "[ThirdParty][gtest] configured successfully.") |
| @@ -30,6 +30,7 @@ ExternalProject_Add(third_party_jpeg | |||
| 30 | URL ${REQ_URL} | 30 | URL ${REQ_URL} |
| 31 | DOWNLOAD_EXTRACT_TIMESTAMP true | 31 | DOWNLOAD_EXTRACT_TIMESTAMP true |
| 32 | URL_HASH SHA256=22429507714ae147b3acacd299e82099fce5d9f456882fc28e252e4579ba2a75 | 32 | URL_HASH SHA256=22429507714ae147b3acacd299e82099fce5d9f456882fc28e252e4579ba2a75 |
| 33 | + TIMEOUT 300 | ||
| 33 | CONFIGURE_COMMAND ${CMAKE_COMMAND} | 34 | CONFIGURE_COMMAND ${CMAKE_COMMAND} |
| 34 | -DCMAKE_C_COMPILER_LAUNCHER=${CCACHE_PROGRAM} | 35 | -DCMAKE_C_COMPILER_LAUNCHER=${CCACHE_PROGRAM} |
| 35 | -DTOOLCHAIN_DIR=${TOOLCHAIN_DIR} | 36 | -DTOOLCHAIN_DIR=${TOOLCHAIN_DIR} |
| @@ -1,12 +1,12 @@ | |||
| 1 | -# ---------------------------------------------------------------------------- | 1 | +# ---------------------------------------------------------------------------- |
| 2 | -# This program is free software, you can redistribute it and/or modify. | 2 | +# This program is free software, you can redistribute it and/or modify. |
| 3 | -# Copyright (c) 2025 Huawei Technologies Co., Ltd. | 3 | +# Copyright (c) 2025 Huawei Technologies Co., Ltd. |
| 4 | -# This file is a part of the CANN Open Software. | 4 | +# This file is a part of the CANN Open Software. |
| 5 | -# Licensed under CANN Open Software License Agreement Version 2.0 (the "License"). | 5 | +# Licensed under CANN Open Software License Agreement Version 2.0 (the "License"). |
| 6 | -# Please refer to the License for details. You may not use this file except in compliance with the License. | 6 | +# Please refer to the License for details. You may not use this file except in compliance with the License. |
| 7 | -# 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. | 7 | +# 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. |
| 8 | -# See LICENSE in the root of the software repository for the full text of the License. | 8 | +# See LICENSE in the root of the software repository for the full text of the License. |
| 9 | -# ---------------------------------------------------------------------------- | 9 | +# ---------------------------------------------------------------------------- |
| 10 | include_guard(GLOBAL) | 10 | include_guard(GLOBAL) |
| 11 | 11 | ||
| 12 | if(TARGET json) | 12 | if(TARGET json) |
| @@ -68,6 +68,7 @@ if(NOT json_FOUND OR FORCE_REBUILD_CANN_3RD) | |||
| 68 | set(JSON_URL_ARGS | 68 | set(JSON_URL_ARGS |
| 69 | URL ${REQ_URL} | 69 | URL ${REQ_URL} |
| 70 | URL_HASH SHA256=4b92eb0c06d10683f7447ce9406cb97cd4b453be18d7279320f7b2f025c10187 | 70 | URL_HASH SHA256=4b92eb0c06d10683f7447ce9406cb97cd4b453be18d7279320f7b2f025c10187 |
| 71 | + TIMEOUT 300 | ||
| 71 | DOWNLOAD_DIR ${JSON_DOWNLOAD_PATH} | 72 | DOWNLOAD_DIR ${JSON_DOWNLOAD_PATH} |
| 72 | ) | 73 | ) |
| 73 | endif() | 74 | endif() |
| @@ -75,7 +76,7 @@ if(NOT json_FOUND OR FORCE_REBUILD_CANN_3RD) | |||
| 75 | ExternalProject_Add(third_party_json | 76 | ExternalProject_Add(third_party_json |
| 76 | ${JSON_URL_ARGS} | 77 | ${JSON_URL_ARGS} |
| 77 | ${JSON_DOWNLOAD_ARGS} | 78 | ${JSON_DOWNLOAD_ARGS} |
| 78 | - PATCH_COMMAND patch -N --batch --quiet -r - -p1 < ${CMAKE_CURRENT_LIST_DIR}/json_3.12.0_change_version.patch | 79 | + PATCH_COMMAND patch -N --batch --quiet -r - -p1 < ${CMAKE_CURRENT_LIST_DIR}/patch/json_3.12.0_change_version.patch |
| 79 | SOURCE_DIR ${JSON_SOURCE_PATH} | 80 | SOURCE_DIR ${JSON_SOURCE_PATH} |
| 80 | CONFIGURE_COMMAND "" | 81 | CONFIGURE_COMMAND "" |
| 81 | BUILD_COMMAND "" | 82 | BUILD_COMMAND "" |
| @@ -96,4 +97,4 @@ if(NOT TARGET json) | |||
| 96 | ) | 97 | ) |
| 97 | else() | 98 | else() |
| 98 | message(STATUS "[ThirdParty][json] json already exist.") | 99 | message(STATUS "[ThirdParty][json] json already exist.") |
| 99 | -endif() | 100 | +endif() |
| @@ -107,6 +107,7 @@ if (NOT EXISTS ${_TargetSourceDir}) | |||
| 107 | list(APPEND _ExtArgs | 107 | list(APPEND _ExtArgs |
| 108 | URL "https://cann-3rd.obs.cn-north-4.myhuaweicloud.com/libboundscheck/libboundscheck-v1.1.16.tar.gz" | 108 | URL "https://cann-3rd.obs.cn-north-4.myhuaweicloud.com/libboundscheck/libboundscheck-v1.1.16.tar.gz" |
| 109 | URL_HASH SHA256=aee8368ef04a42a499edd5bfebce529e7f32dd138bfed383d316e48af4e45d2c | 109 | URL_HASH SHA256=aee8368ef04a42a499edd5bfebce529e7f32dd138bfed383d316e48af4e45d2c |
| 110 | + TIMEOUT 300 | ||
| 110 | DOWNLOAD_DIR ${PYPTO_THIRD_PARTY_PATH} | 111 | DOWNLOAD_DIR ${PYPTO_THIRD_PARTY_PATH} |
| 111 | ) | 112 | ) |
| 112 | endif() | 113 | endif() |
| @@ -109,6 +109,7 @@ include(ExternalProject) | |||
| 109 | ExternalProject_Add(third_party_llvm | 109 | ExternalProject_Add(third_party_llvm |
| 110 | URL ${REQ_URL} | 110 | URL ${REQ_URL} |
| 111 | URL_HASH SHA256=59abea1c22e64933fad4de1671a61cdb934098793c7a31b333ff58dc41bff36c | 111 | URL_HASH SHA256=59abea1c22e64933fad4de1671a61cdb934098793c7a31b333ff58dc41bff36c |
| 112 | + TIMEOUT 600 | ||
| 112 | DOWNLOAD_DIR ${LLVM_DOWNLOAD_PATH} | 113 | DOWNLOAD_DIR ${LLVM_DOWNLOAD_PATH} |
| 113 | SOURCE_DIR ${LLVM_SOURCE_PATH} | 114 | SOURCE_DIR ${LLVM_SOURCE_PATH} |
| 114 | CONFIGURE_COMMAND "" | 115 | CONFIGURE_COMMAND "" |
| @@ -20,23 +20,23 @@ endif() | |||
| 20 | # 新增:检查本地 tar.gz 包是否存在 | 20 | # 新增:检查本地 tar.gz 包是否存在 |
| 21 | if (EXISTS "${MAKESELF_TAR_PATH}") | 21 | if (EXISTS "${MAKESELF_TAR_PATH}") |
| 22 | message(STATUS "[ThirdParty][makeself] found local tar.gz package: ${MAKESELF_TAR_PATH}, extracting...") | 22 | message(STATUS "[ThirdParty][makeself] found local tar.gz package: ${MAKESELF_TAR_PATH}, extracting...") |
| 23 | - | 23 | + |
| 24 | # 创建目标目录(如果不存在) | 24 | # 创建目标目录(如果不存在) |
| 25 | file(MAKE_DIRECTORY "${MAKESELF_PATH}") | 25 | file(MAKE_DIRECTORY "${MAKESELF_PATH}") |
| 26 | - | 26 | + |
| 27 | # 解压本地的 tar.gz 包 | 27 | # 解压本地的 tar.gz 包 |
| 28 | execute_process( | 28 | execute_process( |
| 29 | COMMAND tar xzf "${MAKESELF_TAR_PATH}" -C "${MAKESELF_PATH}" --strip-components=1 | 29 | COMMAND tar xzf "${MAKESELF_TAR_PATH}" -C "${MAKESELF_PATH}" --strip-components=1 |
| 30 | RESULT_VARIABLE EXTRACT_RESULT | 30 | RESULT_VARIABLE EXTRACT_RESULT |
| 31 | ERROR_VARIABLE EXTRACT_ERROR | 31 | ERROR_VARIABLE EXTRACT_ERROR |
| 32 | ) | 32 | ) |
| 33 | - | 33 | + |
| 34 | if(NOT EXTRACT_RESULT EQUAL 0) | 34 | if(NOT EXTRACT_RESULT EQUAL 0) |
| 35 | message(FATAL_ERROR "[ThirdParty][makeself] failed to extract local tar.gz: ${EXTRACT_ERROR}") | 35 | message(FATAL_ERROR "[ThirdParty][makeself] failed to extract local tar.gz: ${EXTRACT_ERROR}") |
| 36 | endif() | 36 | endif() |
| 37 | - | 37 | + |
| 38 | message(STATUS "[ThirdParty][makeself] local tar.gz extracted successfully to ${MAKESELF_PATH}") | 38 | message(STATUS "[ThirdParty][makeself] local tar.gz extracted successfully to ${MAKESELF_PATH}") |
| 39 | - | 39 | + |
| 40 | # 如果本地包不存在,再检查解压后的目录是否存在 | 40 | # 如果本地包不存在,再检查解压后的目录是否存在 |
| 41 | elseif (NOT EXISTS "${MAKESELF_PATH}/makeself-header.sh" OR NOT EXISTS "${MAKESELF_PATH}/makeself.sh") | 41 | elseif (NOT EXISTS "${MAKESELF_PATH}/makeself-header.sh" OR NOT EXISTS "${MAKESELF_PATH}/makeself.sh") |
| 42 | set(REQ_URL "https://cann-3rd.obs.cn-north-4.myhuaweicloud.com/makeself/makeself-release-2.5.0-patch1.tar.gz") | 42 | set(REQ_URL "https://cann-3rd.obs.cn-north-4.myhuaweicloud.com/makeself/makeself-release-2.5.0-patch1.tar.gz") |
| @@ -47,6 +47,7 @@ elseif (NOT EXISTS "${MAKESELF_PATH}/makeself-header.sh" OR NOT EXISTS "${MAKESE | |||
| 47 | ${MAKESELF_NAME} | 47 | ${MAKESELF_NAME} |
| 48 | URL ${REQ_URL} | 48 | URL ${REQ_URL} |
| 49 | URL_HASH SHA256=bfa730a5763cdb267904a130e02b2e48e464986909c0733ff1c96495f620369a | 49 | URL_HASH SHA256=bfa730a5763cdb267904a130e02b2e48e464986909c0733ff1c96495f620369a |
| 50 | + TIMEOUT 300 | ||
| 50 | SOURCE_DIR "${MAKESELF_PATH}" # 直接解压到此目录 | 51 | SOURCE_DIR "${MAKESELF_PATH}" # 直接解压到此目录 |
| 51 | ) | 52 | ) |
| 52 | FetchContent_MakeAvailable(${MAKESELF_NAME}) | 53 | FetchContent_MakeAvailable(${MAKESELF_NAME}) |
| @@ -58,4 +59,4 @@ execute_process( | |||
| 58 | COMMAND chmod 700 "${MAKESELF_PATH}/makeself-header.sh" | 59 | COMMAND chmod 700 "${MAKESELF_PATH}/makeself-header.sh" |
| 59 | RESULT_VARIABLE CHMOD_RESULT | 60 | RESULT_VARIABLE CHMOD_RESULT |
| 60 | ERROR_VARIABLE CHMOD_ERROR | 61 | ERROR_VARIABLE CHMOD_ERROR |
| 61 | -) | 62 | +) |
| @@ -11,7 +11,7 @@ include_guard(GLOBAL) | |||
| 11 | 11 | ||
| 12 | set(open_source_target_name mockcpp) | 12 | set(open_source_target_name mockcpp) |
| 13 | 13 | ||
| 14 | -if (CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "aarch64") | 14 | +if(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "aarch64") |
| 15 | set(mockcpp_CXXFLAGS "-fPIC") | 15 | set(mockcpp_CXXFLAGS "-fPIC") |
| 16 | else() | 16 | else() |
| 17 | set(mockcpp_CXXFLAGS "-fPIC -std=c++11") | 17 | set(mockcpp_CXXFLAGS "-fPIC -std=c++11") |
| @@ -19,24 +19,11 @@ endif() | |||
| 19 | set(mockcpp_FLAGS "-fPIC") | 19 | set(mockcpp_FLAGS "-fPIC") |
| 20 | set(mockcpp_LINKER_FLAGS "") | 20 | set(mockcpp_LINKER_FLAGS "") |
| 21 | 21 | ||
| 22 | -if ((NOT DEFINED ABI_ZERO) OR (ABI_ZERO STREQUAL "")) | 22 | +if(NOT DEFINED USE_CXX11_ABI) |
| 23 | - set(ABI_ZERO "true") | 23 | + set(USE_CXX11_ABI 0) |
| 24 | -endif() | ||
| 25 | - | ||
| 26 | -if (ABI_ZERO STREQUAL true) | ||
| 27 | - set(mockcpp_CXXFLAGS "${mockcpp_CXXFLAGS} -D_GLIBCXX_USE_CXX11_ABI=0") | ||
| 28 | - set(mockcpp_FLAGS "${mockcpp_FLAGS} -D_GLIBCXX_USE_CXX11_ABI=0") | ||
| 29 | -endif() | ||
| 30 | - | ||
| 31 | -set(BUILD_WRAPPER ${ASCENDC_TOOLS_ROOT_DIR}/test/cmake/tools/build_ext.sh) # TODO 这个tool在这里是否合适 | ||
| 32 | -set(BUILD_TYPE "DEBUG") | ||
| 33 | - | ||
| 34 | -if (CMAKE_GENERATOR MATCHES "Unix Makefiles") | ||
| 35 | - set(IS_MAKE True) | ||
| 36 | - set(MAKE_CMD "$(MAKE)") | ||
| 37 | -else() | ||
| 38 | - set(IS_MAKE False) | ||
| 39 | endif() | 24 | endif() |
| 25 | +set(mockcpp_CXXFLAGS "${mockcpp_CXXFLAGS} -D_GLIBCXX_USE_CXX11_ABI=${USE_CXX11_ABI}") | ||
| 26 | +set(mockcpp_FLAGS "${mockcpp_FLAGS} -D_GLIBCXX_USE_CXX11_ABI=${USE_CXX11_ABI}") | ||
| 40 | 27 | ||
| 41 | #依赖蓝区二进制仓mockcpp | 28 | #依赖蓝区二进制仓mockcpp |
| 42 | set(FILE_NAME mockcpp-2.7.tar.gz) | 29 | set(FILE_NAME mockcpp-2.7.tar.gz) |
| @@ -46,56 +33,68 @@ set(MOCKCPP_SOURCE_PATH ${CANN_3RD_LIB_PATH}/mockcpp) | |||
| 46 | set(MOCK_INSTALL_PATH ${CANN_3RD_LIB_PATH}/lib_cache/mockcpp) | 33 | set(MOCK_INSTALL_PATH ${CANN_3RD_LIB_PATH}/lib_cache/mockcpp) |
| 47 | 34 | ||
| 48 | message(STATUS "[ThirdParty][mockcpp] cmake install prefix ${CMAKE_INSTALL_PREFIX}") | 35 | message(STATUS "[ThirdParty][mockcpp] cmake install prefix ${CMAKE_INSTALL_PREFIX}") |
| 49 | -# use for offline | 36 | +include(ExternalProject) |
| 50 | -if (EXISTS ${CANN_3RD_LIB_PATH}/mockcpp-2.7-h5.patch) | 37 | + |
| 38 | +if(EXISTS ${CANN_3RD_LIB_PATH}/mockcpp-2.7-h5.patch) | ||
| 51 | set(PATCH_FILE "${CANN_3RD_LIB_PATH}/mockcpp-2.7-h5.patch") | 39 | set(PATCH_FILE "${CANN_3RD_LIB_PATH}/mockcpp-2.7-h5.patch") |
| 52 | message(STATUS "[ThirdParty][mockcpp] patch use cache: ${PATCH_FILE}") | 40 | message(STATUS "[ThirdParty][mockcpp] patch use cache: ${PATCH_FILE}") |
| 41 | + add_custom_target(mockcpp_patch) | ||
| 42 | +elseif(EXISTS ${MOCKCPP_DOWNLOAD_PATH}/mockcpp-2.7-h5.patch) | ||
| 43 | + set(PATCH_FILE ${MOCKCPP_DOWNLOAD_PATH}/mockcpp-2.7-h5.patch) | ||
| 44 | + message(STATUS "[ThirdParty][mockcpp] patch use cache: ${PATCH_FILE}") | ||
| 45 | + add_custom_target(mockcpp_patch) | ||
| 53 | else() | 46 | else() |
| 54 | - # the path can not same with the mockcpp source path which will be cleaned by building | 47 | + set(PATCH_FILE ${MOCKCPP_DOWNLOAD_PATH}/mockcpp-2.7-h5.patch) |
| 55 | - set(PATCH_FILE ${CANN_3RD_LIB_PATH}/pkg/mockcpp-2.7-h5.patch) | 48 | + ExternalProject_Add(mockcpp_patch |
| 56 | - if(NOT EXISTS ${PATCH_FILE}) | 49 | + URL "https://gitcode.com/cann-src-third-party/mockcpp/releases/download/v2.7-h5/mockcpp-2.7-h5.patch" |
| 57 | - file(DOWNLOAD | 50 | + URL_HASH SHA256=65a2aac5e8ffe1a0eb983e4455972ef70b9850d4283ea7d4cc83e3cb97e98c5e |
| 58 | - "https://gitcode.com/cann-src-third-party/mockcpp/releases/download/v2.7-h5/mockcpp-2.7-h5.patch" | 51 | + DOWNLOAD_DIR ${MOCKCPP_DOWNLOAD_PATH} |
| 59 | - ${PATCH_FILE} | 52 | + DOWNLOAD_NO_EXTRACT TRUE |
| 60 | - TIMEOUT 60 | 53 | + DOWNLOAD_NO_PROGRESS TRUE |
| 61 | - ) | 54 | + TIMEOUT 60 |
| 62 | - endif() | 55 | + UPDATE_COMMAND "" |
| 56 | + CONFIGURE_COMMAND "" | ||
| 57 | + BUILD_COMMAND "" | ||
| 58 | + INSTALL_COMMAND "" | ||
| 59 | + EXCLUDE_FROM_ALL TRUE | ||
| 60 | + ) | ||
| 61 | + message(STATUS "[ThirdParty][mockcpp] patch need download to: ${PATCH_FILE}") | ||
| 63 | endif() | 62 | endif() |
| 64 | 63 | ||
| 65 | -include(ExternalProject) | 64 | +message(STATUS "[ThirdParty][mockcpp] CMAKE_COMMAND is ${CMAKE_COMMAND}") |
| 66 | -message(STATUS, "[ThirdParty][mockcpp] CMAKE_COMMAND is ${CMAKE_COMMAND}") | ||
| 67 | if(EXISTS ${CANN_3RD_LIB_PATH}/mockcpp/${FILE_NAME}) | 65 | if(EXISTS ${CANN_3RD_LIB_PATH}/mockcpp/${FILE_NAME}) |
| 68 | set(REQ_URL ${CANN_3RD_LIB_PATH}/mockcpp/${FILE_NAME}) | 66 | set(REQ_URL ${CANN_3RD_LIB_PATH}/mockcpp/${FILE_NAME}) |
| 69 | - message("[ThirdParty][mockcpp] use cache file: ${REQ_URL}") | 67 | + message(STATUS "[ThirdParty][mockcpp] use cache file: ${REQ_URL}") |
| 70 | elseif(EXISTS ${CANN_3RD_LIB_PATH}/${FILE_NAME}) | 68 | elseif(EXISTS ${CANN_3RD_LIB_PATH}/${FILE_NAME}) |
| 71 | set(REQ_URL ${CANN_3RD_LIB_PATH}/${FILE_NAME}) | 69 | set(REQ_URL ${CANN_3RD_LIB_PATH}/${FILE_NAME}) |
| 72 | - message("[ThirdParty][mockcpp] use local tar.gz: ${REQ_URL}") | 70 | + message(STATUS "[ThirdParty][mockcpp] use local tar.gz: ${REQ_URL}") |
| 73 | else() | 71 | else() |
| 74 | set(REQ_URL "https://cann-3rd.obs.cn-north-4.myhuaweicloud.com/mockcpp/mockcpp-2.7.tar.gz") | 72 | set(REQ_URL "https://cann-3rd.obs.cn-north-4.myhuaweicloud.com/mockcpp/mockcpp-2.7.tar.gz") |
| 75 | - message("[ThirdParty][mockcpp] not use cache, new url file: ${REQ_URL}") | 73 | + message(STATUS "[ThirdParty][mockcpp] not use cache, new url file: ${REQ_URL}") |
| 76 | endif() | 74 | endif() |
| 77 | 75 | ||
| 78 | ExternalProject_Add(mockcpp_static_build | 76 | ExternalProject_Add(mockcpp_static_build |
| 79 | URL ${REQ_URL} | 77 | URL ${REQ_URL} |
| 80 | URL_HASH SHA256=73ab0a8b6d1052361c2cebd85e022c0396f928d2e077bf132790ae3be766f603 | 78 | URL_HASH SHA256=73ab0a8b6d1052361c2cebd85e022c0396f928d2e077bf132790ae3be766f603 |
| 81 | - DEPENDS third_party_boost | 79 | + TIMEOUT 300 |
| 82 | - DOWNLOAD_DIR ${CANN_3RD_LIB_PATH}/pkg | 80 | + DEPENDS third_party_boost mockcpp_patch |
| 81 | + DOWNLOAD_DIR ${MOCKCPP_DOWNLOAD_PATH} | ||
| 83 | SOURCE_DIR ${MOCKCPP_SOURCE_PATH} | 82 | SOURCE_DIR ${MOCKCPP_SOURCE_PATH} |
| 84 | - PATCH_COMMAND git init && git apply ${PATCH_FILE} | 83 | + PATCH_COMMAND patch -p1 < ${PATCH_FILE} |
| 85 | - | ||
| 86 | CONFIGURE_COMMAND ${CMAKE_COMMAND} -G ${CMAKE_GENERATOR} | 84 | CONFIGURE_COMMAND ${CMAKE_COMMAND} -G ${CMAKE_GENERATOR} |
| 87 | -DCMAKE_CXX_FLAGS=${mockcpp_CXXFLAGS} | 85 | -DCMAKE_CXX_FLAGS=${mockcpp_CXXFLAGS} |
| 88 | -DCMAKE_C_FLAGS=${mockcpp_FLAGS} | 86 | -DCMAKE_C_FLAGS=${mockcpp_FLAGS} |
| 87 | + -DCMAKE_C_COMPILER_LAUNCHER=${CMAKE_C_COMPILER_LAUNCHER} | ||
| 88 | + -DCMAKE_CXX_COMPILER_LAUNCHER=${CMAKE_CXX_COMPILER_LAUNCHER} | ||
| 89 | -DBOOST_INCLUDE_DIRS=${BOOST_INCLUDE_DIR} | 89 | -DBOOST_INCLUDE_DIRS=${BOOST_INCLUDE_DIR} |
| 90 | -DCMAKE_SHARED_LINKER_FLAGS=${mockcpp_LINKER_FLAGS} | 90 | -DCMAKE_SHARED_LINKER_FLAGS=${mockcpp_LINKER_FLAGS} |
| 91 | -DCMAKE_EXE_LINKER_FLAGS=${mockcpp_LINKER_FLAGS} | 91 | -DCMAKE_EXE_LINKER_FLAGS=${mockcpp_LINKER_FLAGS} |
| 92 | -DBUILD_32_BIT_TARGET_BY_64_BIT_COMPILER=OFF | 92 | -DBUILD_32_BIT_TARGET_BY_64_BIT_COMPILER=OFF |
| 93 | -DCMAKE_INSTALL_PREFIX=${MOCK_INSTALL_PATH} | 93 | -DCMAKE_INSTALL_PREFIX=${MOCK_INSTALL_PATH} |
| 94 | <SOURCE_DIR> | 94 | <SOURCE_DIR> |
| 95 | - BUILD_COMMAND ${${BUILD_TYPE}} $<$<BOOL:${IS_MAKE}>:$(MAKE)> | 95 | + EXCLUDE_FROM_ALL TRUE |
| 96 | ) | 96 | ) |
| 97 | 97 | ||
| 98 | -# use for fix the bug of not exists the include directory | ||
| 99 | if(NOT EXISTS ${MOCK_INSTALL_PATH}/include) | 98 | if(NOT EXISTS ${MOCK_INSTALL_PATH}/include) |
| 100 | file(MAKE_DIRECTORY ${MOCK_INSTALL_PATH}/include) | 99 | file(MAKE_DIRECTORY ${MOCK_INSTALL_PATH}/include) |
| 101 | endif() | 100 | endif() |
| @@ -105,11 +104,6 @@ set(MOCKCPP_INCLUDE_ONE ${MOCK_INSTALL_PATH}/include) | |||
| 105 | set(MOCKCPP_INCLUDE_TWO ${BOOST_INCLUDE_DIR}) | 104 | set(MOCKCPP_INCLUDE_TWO ${BOOST_INCLUDE_DIR}) |
| 106 | set(MOCKCPP_STATIC_LIBRARY ${MOCK_INSTALL_PATH}/lib/libmockcpp.a) | 105 | set(MOCKCPP_STATIC_LIBRARY ${MOCK_INSTALL_PATH}/lib/libmockcpp.a) |
| 107 | 106 | ||
| 108 | -include(FindPackageHandleStandardArgs) | ||
| 109 | -find_package_handle_standard_args(mockcpp_static_build | ||
| 110 | - REQUIRED_VARS MOCKCPP_INCLUDE_ONE MOCKCPP_INCLUDE_TWO MOCKCPP_STATIC_LIBRARY | ||
| 111 | -) | ||
| 112 | - | ||
| 113 | set(MOCKCPP_INCLUDE_DIR ${MOCKCPP_INCLUDE_ONE} ${MOCKCPP_INCLUDE_TWO}) | 107 | set(MOCKCPP_INCLUDE_DIR ${MOCKCPP_INCLUDE_ONE} ${MOCKCPP_INCLUDE_TWO}) |
| 114 | get_filename_component(MOCKCPP_LIBRARY_DIR ${MOCKCPP_STATIC_LIBRARY} DIRECTORY) | 108 | get_filename_component(MOCKCPP_LIBRARY_DIR ${MOCKCPP_STATIC_LIBRARY} DIRECTORY) |
| 115 | 109 | ||
| @@ -118,4 +112,4 @@ set_target_properties(mockcpp PROPERTIES | |||
| 118 | INTERFACE_INCLUDE_DIRECTORIES "${MOCKCPP_INCLUDE_DIR}" | 112 | INTERFACE_INCLUDE_DIRECTORIES "${MOCKCPP_INCLUDE_DIR}" |
| 119 | IMPORTED_LOCATION "${MOCKCPP_STATIC_LIBRARY}" | 113 | IMPORTED_LOCATION "${MOCKCPP_STATIC_LIBRARY}" |
| 120 | ) | 114 | ) |
| 121 | -add_dependencies(mockcpp mockcpp_static_build) | 115 | +add_dependencies(mockcpp mockcpp_static_build) |
| @@ -44,7 +44,7 @@ find_library(SSL_LIB_PATH | |||
| 44 | include(FindPackageHandleStandardArgs) | 44 | include(FindPackageHandleStandardArgs) |
| 45 | find_package_handle_standard_args(openssl | 45 | find_package_handle_standard_args(openssl |
| 46 | FOUND_VAR | 46 | FOUND_VAR |
| 47 | - openssl_FOUND | 47 | + openssl_FOUND |
| 48 | REQUIRED_VARS | 48 | REQUIRED_VARS |
| 49 | OPENSSL_INCLUDE | 49 | OPENSSL_INCLUDE |
| 50 | CRYPTO_LIB_PATH | 50 | CRYPTO_LIB_PATH |
| @@ -117,6 +117,7 @@ else() | |||
| 117 | ExternalProject_Add(openssl_project | 117 | ExternalProject_Add(openssl_project |
| 118 | URL ${REQ_URL} # 从本地 tar.gz 获取源 | 118 | URL ${REQ_URL} # 从本地 tar.gz 获取源 |
| 119 | URL_HASH SHA256=2eec31f2ac0e126ff68d8107891ef534159c4fcfb095365d4cd4dc57d82616ee # 校验哈希压缩包正确性 | 119 | URL_HASH SHA256=2eec31f2ac0e126ff68d8107891ef534159c4fcfb095365d4cd4dc57d82616ee # 校验哈希压缩包正确性 |
| 120 | + TIMEOUT 300 | ||
| 120 | DOWNLOAD_DIR ${OPENSSL_PKG_PATH} | 121 | DOWNLOAD_DIR ${OPENSSL_PKG_PATH} |
| 121 | CONFIGURE_COMMAND | 122 | CONFIGURE_COMMAND |
| 122 | ${OPENSSL_CONFIGURE_COMMAND} | 123 | ${OPENSSL_CONFIGURE_COMMAND} |
Rthird_party/grpc-fix-compile-bug-in-device.patch→third_party/patch/grpc-fix-compile-bug-in-device.patch+0-0
File renamed without changes.
Rthird_party/json_3.12.0_change_version.patch→third_party/patch/json_3.12.0_change_version.patch+0-0
File renamed without changes.
Rthird_party/protobuf-hide_absl_symbols.patch→third_party/patch/protobuf-hide_absl_symbols.patch+0-0
File renamed without changes.
Rthird_party/protobuf_25.1_change_version.patch→third_party/patch/protobuf_25.1_change_version.patch+0-0
File renamed without changes.
Rthird_party/re2-add_compatible_functions.patch→third_party/patch/re2-add_compatible_functions.patch+0-0
File renamed without changes.
Rthird_party/zlib_add_minizip_static_lib.patch→third_party/patch/zlib_add_minizip_static_lib.patch+0-0
File renamed without changes.
| @@ -79,9 +79,9 @@ set(HOST_PROTOBUF_STATIC_CXXFLAGS "${HOST_PROTOBUF_STATIC_CXXFLAGS} ${PROTOBUF_S | |||
| 79 | # ========================================================================================================== | 79 | # ========================================================================================================== |
| 80 | # 3. Find Existing Libraries & Protoc | 80 | # 3. Find Existing Libraries & Protoc |
| 81 | # ========================================================================================================== | 81 | # ========================================================================================================== |
| 82 | -find_program(PROTOC_PROGRAM | 82 | +find_program(PROTOC_PROGRAM |
| 83 | - NAMES protoc | 83 | + NAMES protoc |
| 84 | - PATHS ${PROTOBUF_HOST_PROTOC_DIR} ${LD_BIN_PATHS} | 84 | + PATHS ${PROTOBUF_HOST_PROTOC_DIR} ${LD_BIN_PATHS} |
| 85 | NO_DEFAULT_PATH | 85 | NO_DEFAULT_PATH |
| 86 | ) | 86 | ) |
| 87 | 87 | ||
| @@ -158,8 +158,9 @@ endif() | |||
| 158 | ExternalProject_Add(protobuf_src | 158 | ExternalProject_Add(protobuf_src |
| 159 | URL ${REQ_URL} | 159 | URL ${REQ_URL} |
| 160 | URL_HASH SHA256=9bd87b8280ef720d3240514f884e56a712f2218f0d693b48050c836028940a42 | 160 | URL_HASH SHA256=9bd87b8280ef720d3240514f884e56a712f2218f0d693b48050c836028940a42 |
| 161 | + TIMEOUT 300 | ||
| 161 | DOWNLOAD_DIR ${PROTOBUF_DOWNLOAD_DIR} | 162 | DOWNLOAD_DIR ${PROTOBUF_DOWNLOAD_DIR} |
| 162 | - PATCH_COMMAND patch --forward --batch -p1 < ${CMAKE_CURRENT_LIST_DIR}/protobuf_25.1_change_version.patch | 163 | + PATCH_COMMAND patch --forward --batch -p1 < ${CMAKE_CURRENT_LIST_DIR}/patch/protobuf_25.1_change_version.patch |
| 163 | CONFIGURE_COMMAND "" | 164 | CONFIGURE_COMMAND "" |
| 164 | BUILD_COMMAND "" | 165 | BUILD_COMMAND "" |
| 165 | INSTALL_COMMAND "" | 166 | INSTALL_COMMAND "" |
| @@ -321,7 +322,7 @@ create_imported_interface_include_directories(ascend_protobuf_static) | |||
| 321 | add_library(protobuf_static STATIC IMPORTED GLOBAL) | 322 | add_library(protobuf_static STATIC IMPORTED GLOBAL) |
| 322 | if(HOST_PROTOBUF_STATIC_INCLUDE AND HOST_PROTOBUF_STATIC_LIB) | 323 | if(HOST_PROTOBUF_STATIC_INCLUDE AND HOST_PROTOBUF_STATIC_LIB) |
| 323 | message("[ThirdParty][protobuf] protobuf_host_static use cache.") | 324 | message("[ThirdParty][protobuf] protobuf_host_static use cache.") |
| 324 | - set_target_properties(protobuf_static PROPERTIES | 325 | + set_target_properties(protobuf_static PROPERTIES |
| 325 | IMPORTED_LOCATION ${HOST_PROTOBUF_STATIC_LIB} | 326 | IMPORTED_LOCATION ${HOST_PROTOBUF_STATIC_LIB} |
| 326 | INTERFACE_INCLUDE_DIRECTORIES "${HOST_PROTOBUF_STATIC_INCLUDE}" | 327 | INTERFACE_INCLUDE_DIRECTORIES "${HOST_PROTOBUF_STATIC_INCLUDE}" |
| 327 | ) | 328 | ) |
| @@ -356,7 +357,7 @@ else() | |||
| 356 | EXCLUDE_FROM_ALL TRUE | 357 | EXCLUDE_FROM_ALL TRUE |
| 357 | ) | 358 | ) |
| 358 | 359 | ||
| 359 | - set_target_properties(protobuf_static PROPERTIES | 360 | + set_target_properties(protobuf_static PROPERTIES |
| 360 | IMPORTED_LOCATION ${PROTOBUF_HOST_STATIC_PKG_DIR}/lib/libhost_ascend_protobuf.a | 361 | IMPORTED_LOCATION ${PROTOBUF_HOST_STATIC_PKG_DIR}/lib/libhost_ascend_protobuf.a |
| 361 | INTERFACE_INCLUDE_DIRECTORIES "${PROTOBUF_HOST_STATIC_PKG_DIR}/include" | 362 | INTERFACE_INCLUDE_DIRECTORIES "${PROTOBUF_HOST_STATIC_PKG_DIR}/include" |
| 362 | ) | 363 | ) |
| @@ -13,7 +13,7 @@ unset(pybind11_FOUND CACHE) | |||
| 13 | unset(PYBIND11_INCLUDE CACHE) | 13 | unset(PYBIND11_INCLUDE CACHE) |
| 14 | 14 | ||
| 15 | set(PYBIND11_DOWNLOAD_PATH ${CANN_3RD_LIB_PATH}/pkg) | 15 | set(PYBIND11_DOWNLOAD_PATH ${CANN_3RD_LIB_PATH}/pkg) |
| 16 | -set(PYBIND11_INSTALL_PATH ${CANN_3RD_LIB_PATH}/pybind11) | 16 | +set(PYBIND11_INSTALL_PATH ${CANN_3RD_LIB_PATH}/lib_cache/pybind11) |
| 17 | 17 | ||
| 18 | find_path(PYBIND11_INCLUDE | 18 | find_path(PYBIND11_INCLUDE |
| 19 | NAMES pybind11/pybind11.h | 19 | NAMES pybind11/pybind11.h |
| @@ -25,52 +25,50 @@ find_path(PYBIND11_INCLUDE | |||
| 25 | include(FindPackageHandleStandardArgs) | 25 | include(FindPackageHandleStandardArgs) |
| 26 | find_package_handle_standard_args(pybind11 | 26 | find_package_handle_standard_args(pybind11 |
| 27 | FOUND_VAR | 27 | FOUND_VAR |
| 28 | - pybind11_FOUND | 28 | + pybind11_FOUND |
| 29 | REQUIRED_VARS | 29 | REQUIRED_VARS |
| 30 | - PYBIND11_INCLUDE | 30 | + PYBIND11_INCLUDE |
| 31 | ) | 31 | ) |
| 32 | if(pybind11_FOUND AND NOT FORCE_REBUILD_CANN_3RD) | 32 | if(pybind11_FOUND AND NOT FORCE_REBUILD_CANN_3RD) |
| 33 | - message("[ThirdParty][pybind11] found in ${PYBIND11_INSTALL_PATH}, and not force rebuild cann third_party") | 33 | + message(STATUS "[ThirdParty][pybind11] found in ${PYBIND11_INCLUDE}, and not force rebuild cann third_party") |
| 34 | set(pybind11_INCLUDE_DIR ${PYBIND11_INCLUDE}) | 34 | set(pybind11_INCLUDE_DIR ${PYBIND11_INCLUDE}) |
| 35 | - add_library(pybind11 INTERFACE IMPORTED) | ||
| 36 | - set_target_properties(pybind11 PROPERTIES | ||
| 37 | - INTERFACE_INCLUDE_DIRECTORIES "${pybind11_INCLUDE_DIR}" | ||
| 38 | - ) | ||
| 39 | else() | 35 | else() |
| 40 | set(REQ_URL "https://gitcode.com/cann-src-third-party/pybind11/releases/download/v2.13.6/pybind11-2.13.6.tar.gz") | 36 | set(REQ_URL "https://gitcode.com/cann-src-third-party/pybind11/releases/download/v2.13.6/pybind11-2.13.6.tar.gz") |
| 41 | set(PYBIND11_ARCHIVE ${PYBIND11_DOWNLOAD_PATH}/pybind11-2.13.6.tar.gz) | 37 | set(PYBIND11_ARCHIVE ${PYBIND11_DOWNLOAD_PATH}/pybind11-2.13.6.tar.gz) |
| 42 | - file(MAKE_DIRECTORY ${PYBIND11_DOWNLOAD_PATH}) | ||
| 43 | - | ||
| 44 | - # Search in CANN_3RD_LIB_PATH and move to pkg if found | ||
| 45 | - if(EXISTS ${CANN_3RD_LIB_PATH}/pybind11-2.13.6.tar.gz AND NOT EXISTS ${PYBIND11_ARCHIVE}) | ||
| 46 | - message("[ThirdParty][pybind11] found pybind11 archive in ${CANN_3RD_LIB_PATH}, moving to pkg") | ||
| 47 | - file(RENAME ${CANN_3RD_LIB_PATH}/pybind11-2.13.6.tar.gz ${PYBIND11_ARCHIVE}) | ||
| 48 | - endif() | ||
| 49 | 38 | ||
| 50 | if(EXISTS ${PYBIND11_ARCHIVE}) | 39 | if(EXISTS ${PYBIND11_ARCHIVE}) |
| 51 | - message("[ThirdParty][pybind11] not found in ${PYBIND11_INSTALL_PATH}, found archive at ${PYBIND11_ARCHIVE}") | 40 | + message(STATUS "[ThirdParty][pybind11] found archive at ${PYBIND11_ARCHIVE}") |
| 41 | + set(PYBIND11_URL_ARGS URL ${PYBIND11_ARCHIVE}) | ||
| 42 | + elseif(EXISTS ${CANN_3RD_LIB_PATH}/pybind11-2.13.6.tar.gz) | ||
| 43 | + message(STATUS "[ThirdParty][pybind11] found archive at ${CANN_3RD_LIB_PATH}/pybind11-2.13.6.tar.gz") | ||
| 44 | + set(PYBIND11_URL_ARGS URL ${CANN_3RD_LIB_PATH}/pybind11-2.13.6.tar.gz) | ||
| 52 | else() | 45 | else() |
| 53 | - message("[ThirdParty][pybind11] not found in ${PYBIND11_INSTALL_PATH}, begin load from ${REQ_URL}") | 46 | + message(STATUS "[ThirdParty][pybind11] not found, need download from ${REQ_URL}") |
| 54 | - file(DOWNLOAD | 47 | + set(PYBIND11_URL_ARGS |
| 55 | - ${REQ_URL} | 48 | + URL ${REQ_URL} |
| 56 | - ${PYBIND11_ARCHIVE} | 49 | + URL_HASH SHA256=e08cb87f4773da97fa7b5f035de8763abc656d87d5773e62f6da0587d1f0ec20 |
| 57 | - SHOW_PROGRESS | ||
| 58 | ) | 50 | ) |
| 59 | endif() | 51 | endif() |
| 60 | - file(MAKE_DIRECTORY ${PYBIND11_INSTALL_PATH}) | 52 | + |
| 61 | - execute_process( | 53 | + include(ExternalProject) |
| 62 | - COMMAND tar xf "${PYBIND11_ARCHIVE}" --strip-components=1 -C ${PYBIND11_INSTALL_PATH} | 54 | + ExternalProject_Add(pybind11_build |
| 63 | - RESULT_VARIABLE TAR_RESULT | 55 | + ${PYBIND11_URL_ARGS} |
| 64 | - OUTPUT_QUIET | 56 | + TIMEOUT 300 |
| 65 | - ERROR_QUIET | 57 | + DOWNLOAD_DIR ${PYBIND11_DOWNLOAD_PATH} |
| 58 | + SOURCE_DIR ${PYBIND11_INSTALL_PATH} | ||
| 59 | + CONFIGURE_COMMAND "" | ||
| 60 | + BUILD_COMMAND "" | ||
| 61 | + INSTALL_COMMAND "" | ||
| 62 | + EXCLUDE_FROM_ALL TRUE | ||
| 66 | ) | 63 | ) |
| 67 | 64 | ||
| 68 | - if(NOT TAR_RESULT EQUAL 0) | ||
| 69 | - message(FATAL_ERROR "[ThirdParty][pybind11] failed to tar xf ${PYBIND11_ARCHIVE}") | ||
| 70 | - endif() | ||
| 71 | - | ||
| 72 | set(pybind11_INCLUDE_DIR ${PYBIND11_INSTALL_PATH}/include) | 65 | set(pybind11_INCLUDE_DIR ${PYBIND11_INSTALL_PATH}/include) |
| 73 | - add_library(pybind11 INTERFACE IMPORTED) | 66 | +endif() |
| 74 | - set_target_properties(pybind11 PROPERTIES | 67 | + |
| 75 | - INTERFACE_INCLUDE_DIRECTORIES "${pybind11_INCLUDE_DIR}") | 68 | +add_library(pybind11 INTERFACE) |
| 69 | +set_target_properties(pybind11 PROPERTIES | ||
| 70 | + INTERFACE_INCLUDE_DIRECTORIES "${pybind11_INCLUDE_DIR}" | ||
| 71 | +) | ||
| 72 | +if(TARGET pybind11_build) | ||
| 73 | + add_dependencies(pybind11 pybind11_build) | ||
| 76 | endif() | 74 | endif() |
| @@ -67,8 +67,9 @@ else() | |||
| 67 | if(RDMA_CORE_PATCH_PROJECT_URL) | 67 | if(RDMA_CORE_PATCH_PROJECT_URL) |
| 68 | ExternalProject_Add(rdma_core_patch | 68 | ExternalProject_Add(rdma_core_patch |
| 69 | URL ${RDMA_CORE_PATCH_PROJECT_URL} | 69 | URL ${RDMA_CORE_PATCH_PROJECT_URL} |
| 70 | - URL_HASH SHA256=54ca56b3b68bc465a78dd5839cd7110610745c7152a1dc3a72b265deeebb905f | 70 | + URL_HASH SHA256=54ca56b3b68bc465a78dd5839cd7110610745c7152a1dc3a72b265deeebb905f |
| 71 | - DOWNLOAD_DIR ${RDMA_CORE_PKG_DIR} | 71 | + TIMEOUT 60 |
| 72 | + DOWNLOAD_DIR ${RDMA_CORE_PKG_DIR} | ||
| 72 | UPDATE_COMMAND "" | 73 | UPDATE_COMMAND "" |
| 73 | CONFIGURE_COMMAND "" | 74 | CONFIGURE_COMMAND "" |
| 74 | BUILD_COMMAND "" | 75 | BUILD_COMMAND "" |
| @@ -100,6 +101,7 @@ else() | |||
| 100 | ExternalProject_Add(rdma_core_src | 101 | ExternalProject_Add(rdma_core_src |
| 101 | URL ${RDMA_CORE_PROJECT_URL} | 102 | URL ${RDMA_CORE_PROJECT_URL} |
| 102 | URL_HASH SHA256=aa935de1fcd07c42f7237b0284b5697b1ace2a64f2bcfca3893185bc91b8c74d | 103 | URL_HASH SHA256=aa935de1fcd07c42f7237b0284b5697b1ace2a64f2bcfca3893185bc91b8c74d |
| 104 | + TIMEOUT 300 | ||
| 103 | SOURCE_DIR ${RDMA_CORE_SRC_DIR} | 105 | SOURCE_DIR ${RDMA_CORE_SRC_DIR} |
| 104 | DOWNLOAD_DIR ${RDMA_CORE_PKG_DIR} | 106 | DOWNLOAD_DIR ${RDMA_CORE_PKG_DIR} |
| 105 | PATCH_COMMAND patch -p1 -i "${RDMA_CORE_PATCH}" | 107 | PATCH_COMMAND patch -p1 -i "${RDMA_CORE_PATCH}" |
| @@ -123,6 +125,8 @@ else() | |||
| 123 | -DENABLE_RESOLVE_NEIGH=0 | 125 | -DENABLE_RESOLVE_NEIGH=0 |
| 124 | -DCMAKE_SKIP_RPATH=True | 126 | -DCMAKE_SKIP_RPATH=True |
| 125 | -DNO_PYVERBS=1 | 127 | -DNO_PYVERBS=1 |
| 128 | + -DCMAKE_C_COMPILER_LAUNCHER=${CMAKE_C_COMPILER_LAUNCHER} | ||
| 129 | + -DCMAKE_CXX_COMPILER_LAUNCHER=${CMAKE_CXX_COMPILER_LAUNCHER} | ||
| 126 | <SOURCE_DIR> | 130 | <SOURCE_DIR> |
| 127 | BUILD_COMMAND $(MAKE) kern-abi | 131 | BUILD_COMMAND $(MAKE) kern-abi |
| 128 | INSTALL_COMMAND "" | 132 | INSTALL_COMMAND "" |
| @@ -1,9 +1,9 @@ | |||
| 1 | # ----------------------------------------------------------------------------------------------------------- | 1 | # ----------------------------------------------------------------------------------------------------------- |
| 2 | # Copyright (c) 2025 Huawei Technologies Co., Ltd. | 2 | # Copyright (c) 2025 Huawei Technologies Co., Ltd. |
| 3 | -# This program is free software, you can redistribute it and/or modify it under the terms and conditions of | 3 | +# This program is free software, you can redistribute it and/or modify it under the terms and conditions of |
| 4 | # CANN Open Software License Agreement Version 2.0 (the "License"). | 4 | # CANN Open Software License Agreement Version 2.0 (the "License"). |
| 5 | # Please refer to the License for details. You may not use this file except in compliance with the License. | 5 | # Please refer to the License for details. You may not use this file except in compliance with the License. |
| 6 | -# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, | 6 | +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, |
| 7 | # INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. | 7 | # INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. |
| 8 | # See LICENSE in the root of the software repository for the full text of the License. | 8 | # See LICENSE in the root of the software repository for the full text of the License. |
| 9 | # ----------------------------------------------------------------------------------------------------------- | 9 | # ----------------------------------------------------------------------------------------------------------- |
| @@ -43,13 +43,14 @@ else() | |||
| 43 | ExternalProject_Add(re2_build | 43 | ExternalProject_Add(re2_build |
| 44 | URL ${REQ_URL} | 44 | URL ${REQ_URL} |
| 45 | URL_HASH SHA256=cd191a311b84fcf37310e5cd876845b4bf5aee76fdd755008eef3b6478ce07bb | 45 | URL_HASH SHA256=cd191a311b84fcf37310e5cd876845b4bf5aee76fdd755008eef3b6478ce07bb |
| 46 | + TIMEOUT 300 | ||
| 46 | DOWNLOAD_DIR ${RE2_PKG_PATH} | 47 | DOWNLOAD_DIR ${RE2_PKG_PATH} |
| 47 | SOURCE_DIR ${RE2_INTALL_PATH} | 48 | SOURCE_DIR ${RE2_INTALL_PATH} |
| 48 | - PATCH_COMMAND patch -N --batch --quiet -r - -p1 < ${CMAKE_CURRENT_LIST_DIR}/re2-add_compatible_functions.patch | 49 | + PATCH_COMMAND patch -N --batch --quiet -r - -p1 < ${CMAKE_CURRENT_LIST_DIR}/patch/re2-add_compatible_functions.patch |
| 49 | CONFIGURE_COMMAND "" | 50 | CONFIGURE_COMMAND "" |
| 50 | BUILD_COMMAND "" | 51 | BUILD_COMMAND "" |
| 51 | INSTALL_COMMAND "" | 52 | INSTALL_COMMAND "" |
| 52 | EXCLUDE_FROM_ALL TRUE | 53 | EXCLUDE_FROM_ALL TRUE |
| 53 | DWONLOAD_NO_PROGRESS TRUE | 54 | DWONLOAD_NO_PROGRESS TRUE |
| 54 | ) | 55 | ) |
| 55 | -endif() | 56 | +endif() |
| @@ -35,6 +35,7 @@ else() | |||
| 35 | ExternalProject_Add(external_seccomp | 35 | ExternalProject_Add(external_seccomp |
| 36 | URL ${REQ_URL} | 36 | URL ${REQ_URL} |
| 37 | URL_HASH SHA256=96bbadb4384716272a6d2be82801dc564f7aab345febfe9b698b70fc606e3f75 | 37 | URL_HASH SHA256=96bbadb4384716272a6d2be82801dc564f7aab345febfe9b698b70fc606e3f75 |
| 38 | + TIMEOUT 300 | ||
| 38 | DOWNLOAD_DIR download/seccomp | 39 | DOWNLOAD_DIR download/seccomp |
| 39 | PREFIX third_party | 40 | PREFIX third_party |
| 40 | CONFIGURE_COMMAND cd <SOURCE_DIR> && ./autogen.sh && ./configure --prefix=<INSTALL_DIR> | 41 | CONFIGURE_COMMAND cd <SOURCE_DIR> && ./autogen.sh && ./configure --prefix=<INSTALL_DIR> |
| @@ -53,4 +54,4 @@ set_target_properties(seccomp_headers PROPERTIES | |||
| 53 | ) | 54 | ) |
| 54 | if(seccomp_download_dependent) | 55 | if(seccomp_download_dependent) |
| 55 | add_dependencies(seccomp_headers external_seccomp) | 56 | add_dependencies(seccomp_headers external_seccomp) |
| 56 | -endif() | 57 | +endif() |
| @@ -15,9 +15,10 @@ if(CANN_PKG_SERVER) | |||
| 15 | endif() | 15 | endif() |
| 16 | include(ExternalProject) | 16 | include(ExternalProject) |
| 17 | ExternalProject_Add(secure_c | 17 | ExternalProject_Add(secure_c |
| 18 | - URL ${_secure_c_url} | 18 | + URL ${_secure_c_url} |
| 19 | https://gitee.com/openeuler/libboundscheck/repository/archive/v1.1.16.tar.gz | 19 | https://gitee.com/openeuler/libboundscheck/repository/archive/v1.1.16.tar.gz |
| 20 | URL_MD5 ae4865cec1bfb52f7dca03f5c05ac98a | 20 | URL_MD5 ae4865cec1bfb52f7dca03f5c05ac98a |
| 21 | + TIMEOUT 300 | ||
| 21 | DOWNLOAD_DIR download/secure_c | 22 | DOWNLOAD_DIR download/secure_c |
| 22 | PREFIX third_party | 23 | PREFIX third_party |
| 23 | CONFIGURE_COMMAND "" | 24 | CONFIGURE_COMMAND "" |
| @@ -1,9 +1,9 @@ | |||
| 1 | # ----------------------------------------------------------------------------------------------------------- | 1 | # ----------------------------------------------------------------------------------------------------------- |
| 2 | # Copyright (c) 2025 Huawei Technologies Co., Ltd. | 2 | # Copyright (c) 2025 Huawei Technologies Co., Ltd. |
| 3 | -# This program is free software, you can redistribute it and/or modify it under the terms and conditions of | 3 | +# This program is free software, you can redistribute it and/or modify it under the terms and conditions of |
| 4 | # CANN Open Software License Agreement Version 2.0 (the "License"). | 4 | # CANN Open Software License Agreement Version 2.0 (the "License"). |
| 5 | # Please refer to the License for details. You may not use this file except in compliance with the License. | 5 | # Please refer to the License for details. You may not use this file except in compliance with the License. |
| 6 | -# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, | 6 | +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, |
| 7 | # INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. | 7 | # INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. |
| 8 | # See LICENSE in the root of the software repository for the full text of the License. | 8 | # See LICENSE in the root of the software repository for the full text of the License. |
| 9 | # ----------------------------------------------------------------------------------------------------------- | 9 | # ----------------------------------------------------------------------------------------------------------- |
| @@ -34,13 +34,13 @@ else() | |||
| 34 | elseif(EXISTS ${CMAKE_FILE}) | 34 | elseif(EXISTS ${CMAKE_FILE}) |
| 35 | message(STATUS "[ThirdParty][symengine] ${CMAKE_FILE} found, symengine is ready without patch installed.") | 35 | message(STATUS "[ThirdParty][symengine] ${CMAKE_FILE} found, symengine is ready without patch installed.") |
| 36 | list(APPEND SYMENGINE_EXTRA_ARGS | 36 | list(APPEND SYMENGINE_EXTRA_ARGS |
| 37 | - PATCH_COMMAND patch -p1 < ${CMAKE_CURRENT_LIST_DIR}/symengine_add_mod.patch | 37 | + PATCH_COMMAND patch -p1 < ${CMAKE_CURRENT_LIST_DIR}/patch/symengine_add_mod.patch |
| 38 | ) | 38 | ) |
| 39 | elseif(EXISTS ${REQ_URL}) | 39 | elseif(EXISTS ${REQ_URL}) |
| 40 | message(STATUS "[ThirdParty][symengine] ${REQ_URL} found.") | 40 | message(STATUS "[ThirdParty][symengine] ${REQ_URL} found.") |
| 41 | list(APPEND SYMENGINE_EXTRA_ARGS | 41 | list(APPEND SYMENGINE_EXTRA_ARGS |
| 42 | URL ${REQ_URL} | 42 | URL ${REQ_URL} |
| 43 | - PATCH_COMMAND patch -p1 < ${CMAKE_CURRENT_LIST_DIR}/symengine_add_mod.patch | 43 | + PATCH_COMMAND patch -p1 < ${CMAKE_CURRENT_LIST_DIR}/patch/symengine_add_mod.patch |
| 44 | ) | 44 | ) |
| 45 | else() | 45 | else() |
| 46 | message(STATUS "[ThirdParty][symengine] symengine not found, need download.") | 46 | message(STATUS "[ThirdParty][symengine] symengine not found, need download.") |
| @@ -48,8 +48,9 @@ else() | |||
| 48 | list(APPEND SYMENGINE_EXTRA_ARGS | 48 | list(APPEND SYMENGINE_EXTRA_ARGS |
| 49 | URL ${REQ_URL} | 49 | URL ${REQ_URL} |
| 50 | URL_HASH SHA256=1b5c3b0bc6a9f187635f93585649f24a18e9c7f2167cebcd885edeaaf211d956 | 50 | URL_HASH SHA256=1b5c3b0bc6a9f187635f93585649f24a18e9c7f2167cebcd885edeaaf211d956 |
| 51 | + TIMEOUT 300 | ||
| 51 | DOWNLOAD_DIR ${CANN_3RD_LIB_PATH}/symengine | 52 | DOWNLOAD_DIR ${CANN_3RD_LIB_PATH}/symengine |
| 52 | - PATCH_COMMAND patch -p1 < ${CMAKE_CURRENT_LIST_DIR}/symengine_add_mod.patch | 53 | + PATCH_COMMAND patch -p1 < ${CMAKE_CURRENT_LIST_DIR}/patch/symengine_add_mod.patch |
| 53 | ) | 54 | ) |
| 54 | endif() | 55 | endif() |
| 55 | set(SYMENGINE_CXXFLAGS "-fPIC -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17") | 56 | set(SYMENGINE_CXXFLAGS "-fPIC -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17") |
| @@ -69,6 +70,8 @@ else() | |||
| 69 | -DCMAKE_CXX_EXTENSIONS=OFF | 70 | -DCMAKE_CXX_EXTENSIONS=OFF |
| 70 | -DCMAKE_INSTALL_LIBDIR=lib | 71 | -DCMAKE_INSTALL_LIBDIR=lib |
| 71 | -DCMAKE_CXX_FLAGS=${SYMENGINE_CXXFLAGS} | 72 | -DCMAKE_CXX_FLAGS=${SYMENGINE_CXXFLAGS} |
| 73 | + -DCMAKE_C_COMPILER_LAUNCHER=${CMAKE_C_COMPILER_LAUNCHER} | ||
| 74 | + -DCMAKE_CXX_COMPILER_LAUNCHER=${CMAKE_CXX_COMPILER_LAUNCHER} | ||
| 72 | -DCMAKE_INSTALL_PREFIX=${SYMENGINE_INSTALL_DIR} | 75 | -DCMAKE_INSTALL_PREFIX=${SYMENGINE_INSTALL_DIR} |
| 73 | -DCMAKE_PREFIX_PATH=${CANN_3RD_LIB_PATH}/lib_cache/boost | 76 | -DCMAKE_PREFIX_PATH=${CANN_3RD_LIB_PATH}/lib_cache/boost |
| 74 | <SOURCE_DIR> | 77 | <SOURCE_DIR> |
| @@ -1,9 +1,9 @@ | |||
| 1 | # ----------------------------------------------------------------------------------------------------------- | 1 | # ----------------------------------------------------------------------------------------------------------- |
| 2 | # Copyright (c) 2025 Huawei Technologies Co., Ltd. | 2 | # Copyright (c) 2025 Huawei Technologies Co., Ltd. |
| 3 | -# This program is free software, you can redistribute it and/or modify it under the terms and conditions of | 3 | +# This program is free software, you can redistribute it and/or modify it under the terms and conditions of |
| 4 | # CANN Open Software License Agreement Version 2.0 (the "License"). | 4 | # CANN Open Software License Agreement Version 2.0 (the "License"). |
| 5 | # Please refer to the License for details. You may not use this file except in compliance with the License. | 5 | # Please refer to the License for details. You may not use this file except in compliance with the License. |
| 6 | -# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, | 6 | +# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, |
| 7 | # INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. | 7 | # INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. |
| 8 | # See LICENSE in the root of the software repository for the full text of the License. | 8 | # See LICENSE in the root of the software repository for the full text of the License. |
| 9 | # ----------------------------------------------------------------------------------------------------------- | 9 | # ----------------------------------------------------------------------------------------------------------- |
| @@ -46,9 +46,10 @@ else() | |||
| 46 | message(STATUS "[ThirdParty][zlib] ${REQ_URL} not found, need download.") | 46 | message(STATUS "[ThirdParty][zlib] ${REQ_URL} not found, need download.") |
| 47 | set(REQ_URL "https://cann-3rd.obs.cn-north-4.myhuaweicloud.com/zlib/zlib-1.2.13.tar.gz") | 47 | set(REQ_URL "https://cann-3rd.obs.cn-north-4.myhuaweicloud.com/zlib/zlib-1.2.13.tar.gz") |
| 48 | endif() | 48 | endif() |
| 49 | -ExternalProject_Add(zlib_src | 49 | +ExternalProject_Add(zlib_src |
| 50 | URL ${REQ_URL} | 50 | URL ${REQ_URL} |
| 51 | - PATCH_COMMAND patch -p1 < ${CMAKE_CURRENT_LIST_DIR}/zlib_add_minizip_static_lib.patch | 51 | + TIMEOUT 300 |
| 52 | + PATCH_COMMAND patch -p1 < ${CMAKE_CURRENT_LIST_DIR}/patch/zlib_add_minizip_static_lib.patch | ||
| 52 | CONFIGURE_COMMAND "" | 53 | CONFIGURE_COMMAND "" |
| 53 | BUILD_COMMAND "" | 54 | BUILD_COMMAND "" |
| 54 | INSTALL_COMMAND "" | 55 | INSTALL_COMMAND "" |