Merged
统一patch到third_party/patch目录,mockcpp补丁下载从configure迁移至build阶段 #272
zhaoyingdongAdd on Aug 11
统一patch到third_party/patch目录,mockcpp补丁下载从configure迁移至build阶段 #272
Merged
zhaoyingdongAdd on Aug 11
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 TRUE77 DOWNLOAD_NO_EXTRACT TRUE
78 DOWNLOAD_NO_PROGRESS TRUE78 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=987ce98f02eefbaf930d6e38ab16aa05737234d7afbab2d5c4ea7adbe50c28ed91 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.patch94+ 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)
12set(BENCHMARK_INSTALL_PATH ${CANN_3RD_LIB_PATH}/lib_cache/benchmark)12set(BENCHMARK_INSTALL_PATH ${CANN_3RD_LIB_PATH}/lib_cache/benchmark)
13set(BENCHMARK_DOWNLOAD_PATH ${CANN_3RD_LIB_PATH}/benchmark)13set(BENCHMARK_DOWNLOAD_PATH ${CANN_3RD_LIB_PATH}/benchmark)
14set(BENCHMARK_SHARED_LLIBRARY_DIR ${BENCHMARK_INSTALL_PATH}/lib/libbenchmark.so)14set(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)
16if(NOT EXISTS ${BENCHMARK_INCLUDE_DIR})16if(NOT EXISTS ${BENCHMARK_INCLUDE_DIR})
17 file(MAKE_DIRECTORY "${BENCHMARK_INCLUDE_DIR}")17 file(MAKE_DIRECTORY "${BENCHMARK_INCLUDE_DIR}")
18endif()18endif()
@@ -47,11 +47,14 @@ set(benchmark_CXXFLAGS "-D_GLIBCXX_USE_CXX11_ABI=${USE_CXX11_ABI} -D_FORTIFY_SOU
47ExternalProject_Add(benchmark_build47ExternalProject_Add(benchmark_build
48 URL ${REQ_URL}48 URL ${REQ_URL}
49 URL_HASH SHA256=6bc180a57d23d4d9515519f92b0c83d61b05b5bab188961f36ac7b06b0d9e9ce49 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=OFF53 -DBENCHMARK_ENABLE_GTEST_TESTS=OFF
53 -DCMAKE_BUILD_TYPE=Release54 -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_boost55 ExternalProject_Add(third_party_boost
56 URL ${REQ_URL}56 URL ${REQ_URL}
57 URL_HASH SHA256=f55c340aa49763b1925ccf02b2e83f35fdcf634c9d5164a2acb87540173c741d57 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_build43 ExternalProject_Add(cares_build
44 URL ${REQ_URL}44 URL ${REQ_URL}
45 URL_HASH SHA256=321700399b72ed0e037d0074c629e7741f6b2ec2dda92956abe3e9671d3e268e45 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_src82 ExternalProject_Add(csec_src
83 URL ${REQ_URL}83 URL ${REQ_URL}
84 URL_HASH SHA256=aee8368ef04a42a499edd5bfebce529e7f32dd138bfed383d316e48af4e45d2c84 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 "")
78endif()78endif()
79 79 
80file(WRITE "${MAKEFILE}" "${MAKEFILE_CONTENT}")80file(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)
31ExternalProject_Add(external_eigen31ExternalProject_Add(external_eigen
32 URL ${REQ_URL}32 URL ${REQ_URL}
33 URL_HASH SHA256=93f7f0462988b934e632a9fba58af55192ffceae38e8f46233f4f62cb1e7937033 URL_HASH SHA256=93f7f0462988b934e632a9fba58af55192ffceae38e8f46233f4f62cb1e79370
34+ TIMEOUT 300
34 DOWNLOAD_DIR ${CANN_3RD_LIB_PATH}/pkg35 DOWNLOAD_DIR ${CANN_3RD_LIB_PATH}/pkg
35 PREFIX third_party36 PREFIX third_party
36 INSTALL_COMMAND ""37 INSTALL_COMMAND ""
@@ -48,4 +49,4 @@ set_target_properties(Eigen PROPERTIES
48)49)
49add_dependencies(Eigen external_eigen)50add_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})
30endif()30endif()
31set(GRPC_STATIC_LIB ${GRPC_INSTALL_PATH}/lib/libgrpc.a)31set(GRPC_STATIC_LIB ${GRPC_INSTALL_PATH}/lib/libgrpc.a)
32set(GRPCXX_STATIC_LIB ${GRPC_INSTALL_PATH}/lib/libgrpc++.a)32set(GRPCXX_STATIC_LIB ${GRPC_INSTALL_PATH}/lib/libgrpc++.a)
33- 33+ 
34set(GRPC_INTERFACE_LINK_LIBRARIES34set(GRPC_INTERFACE_LINK_LIBRARIES
35 ${GRPC_INSTALL_PATH}/lib/libupb_collections_lib.a35 ${GRPC_INSTALL_PATH}/lib/libupb_collections_lib.a
36 ${GRPC_INSTALL_PATH}/lib/libupb_json_lib.a36 ${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.a119 ${GRPC_INSTALL_PATH}/lib/libabsl_raw_logging_internal.a
120 ${GRPC_INSTALL_PATH}/lib/libabsl_log_severity.a120 ${GRPC_INSTALL_PATH}/lib/libabsl_log_severity.a
121)121)
122- 122+ 
123add_library(gRPC::grpc STATIC IMPORTED)123add_library(gRPC::grpc STATIC IMPORTED)
124set_target_properties(gRPC::grpc PROPERTIES124set_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+ 
130add_library(gRPC::grpc++ STATIC IMPORTED)130add_library(gRPC::grpc++ STATIC IMPORTED)
131set_target_properties(gRPC::grpc++ PROPERTIES131set_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+ 
137if(EXISTS ${GRPC_STATIC_LIB} AND EXISTS ${GRPCXX_STATIC_LIB})137if(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.")
139else()139else()
@@ -151,14 +151,15 @@ else()
151 DOWNLOAD_DIR ${CANN_3RD_LIB_PATH}/pkg151 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_build156 ExternalProject_Add(grpc_build
157 URL ${REQ_URL}157 URL ${REQ_URL}
158 URL_HASH SHA256=437068b8b777d3b339da94d3498f1dc20642ac9bfa76db43abdd522186b1542b158 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/src161 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.patch162+ 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 # zlib164 # zlib
164 -DgRPC_ZLIB_PROVIDER=module165 -DgRPC_ZLIB_PROVIDER=module
@@ -237,9 +238,10 @@ else()
237 ExternalProject_Add(protoc_grpc_build238 ExternalProject_Add(protoc_grpc_build
238 URL ${REQ_URL}239 URL ${REQ_URL}
239 URL_HASH SHA256=437068b8b777d3b339da94d3498f1dc20642ac9bfa76db43abdd522186b1542b240 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/src243 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.patch244+ 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 # zlib246 # zlib
245 -DgRPC_ZLIB_PROVIDER=none247 -DgRPC_ZLIB_PROVIDER=none
@@ -107,6 +107,7 @@ else()
107 ExternalProject_Add(third_party_gtest107 ExternalProject_Add(third_party_gtest
108 URL ${GTEST_PROJECT_URL}108 URL ${GTEST_PROJECT_URL}
109 URL_HASH SHA256=8ad598c73ad796e0d8280b082cebd82a630d73e73cd3c70057938a6501bba5d7109 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.a151 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.")
@@ -87,6 +87,7 @@ else()
87 ExternalProject_Add(gtest_shared_build87 ExternalProject_Add(gtest_shared_build
88 URL ${REQ_URL}88 URL ${REQ_URL}
89 URL_HASH SHA256=8ad598c73ad796e0d8280b082cebd82a630d73e73cd3c70057938a6501bba5d789 URL_HASH SHA256=8ad598c73ad796e0d8280b082cebd82a630d73e73cd3c70057938a6501bba5d7
90+ TIMEOUT 300
90 DOWNLOAD_DIR ${CANN_3RD_LIB_PATH}/pkg91 DOWNLOAD_DIR ${CANN_3RD_LIB_PATH}/pkg
91 SOURCE_DIR ${GTEST_INSTALL_PATH}92 SOURCE_DIR ${GTEST_INSTALL_PATH}
92 CONFIGURE_COMMAND ${CMAKE_COMMAND}93 CONFIGURE_COMMAND ${CMAKE_COMMAND}
@@ -136,4 +137,4 @@ set_target_properties(GTestShared::gtest_main PROPERTIES
136 137 
137set_target_properties(GTestShared::gmock_main PROPERTIES138set_target_properties(GTestShared::gmock_main PROPERTIES
138 IMPORTED_LOCATION ${GTEST_INSTALL_PATH}/lib64/libgmock_main.so.1.14.0139 IMPORTED_LOCATION ${GTEST_INSTALL_PATH}/lib64/libgmock_main.so.1.14.0
139- INTERFACE_INCLUDE_DIRECTORIES ${GTEST_INSTALL_PATH}/include)140+ INTERFACE_INCLUDE_DIRECTORIES ${GTEST_INSTALL_PATH}/include)
@@ -30,6 +30,7 @@ ExternalProject_Add(third_party_jpeg
30 URL ${REQ_URL}30 URL ${REQ_URL}
31 DOWNLOAD_EXTRACT_TIMESTAMP true31 DOWNLOAD_EXTRACT_TIMESTAMP true
32 URL_HASH SHA256=22429507714ae147b3acacd299e82099fce5d9f456882fc28e252e4579ba2a7532 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+# ----------------------------------------------------------------------------
10include_guard(GLOBAL)10include_guard(GLOBAL)
11 11 
12if(TARGET json)12if(TARGET json)
@@ -68,6 +68,7 @@ if(NOT json_FOUND OR FORCE_REBUILD_CANN_3RD)
68 set(JSON_URL_ARGS68 set(JSON_URL_ARGS
69 URL ${REQ_URL}69 URL ${REQ_URL}
70 URL_HASH SHA256=4b92eb0c06d10683f7447ce9406cb97cd4b453be18d7279320f7b2f025c1018770 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_json76 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.patch79+ 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 )
97else()98else()
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 _ExtArgs107 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=aee8368ef04a42a499edd5bfebce529e7f32dd138bfed383d316e48af4e45d2c109 URL_HASH SHA256=aee8368ef04a42a499edd5bfebce529e7f32dd138bfed383d316e48af4e45d2c
110+ TIMEOUT 300
110 DOWNLOAD_DIR ${PYPTO_THIRD_PARTY_PATH}111 DOWNLOAD_DIR ${PYPTO_THIRD_PARTY_PATH}
111 )112 )
112endif()113endif()
@@ -109,6 +109,7 @@ include(ExternalProject)
109ExternalProject_Add(third_party_llvm109ExternalProject_Add(third_party_llvm
110 URL ${REQ_URL}110 URL ${REQ_URL}
111 URL_HASH SHA256=59abea1c22e64933fad4de1671a61cdb934098793c7a31b333ff58dc41bff36c111 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 包是否存在
21if (EXISTS "${MAKESELF_TAR_PATH}")21if (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=129 COMMAND tar xzf "${MAKESELF_TAR_PATH}" -C "${MAKESELF_PATH}" --strip-components=1
30 RESULT_VARIABLE EXTRACT_RESULT30 RESULT_VARIABLE EXTRACT_RESULT
31 ERROR_VARIABLE EXTRACT_ERROR31 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# 如果本地包不存在,再检查解压后的目录是否存在
41elseif (NOT EXISTS "${MAKESELF_PATH}/makeself-header.sh" OR NOT EXISTS "${MAKESELF_PATH}/makeself.sh")41elseif (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=bfa730a5763cdb267904a130e02b2e48e464986909c0733ff1c96495f620369a49 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_RESULT60 RESULT_VARIABLE CHMOD_RESULT
60 ERROR_VARIABLE CHMOD_ERROR61 ERROR_VARIABLE CHMOD_ERROR
61-)62+)
@@ -11,7 +11,7 @@ include_guard(GLOBAL)
11 11 
12set(open_source_target_name mockcpp)12set(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")
16else()16else()
17 set(mockcpp_CXXFLAGS "-fPIC -std=c++11")17 set(mockcpp_CXXFLAGS "-fPIC -std=c++11")
@@ -19,24 +19,11 @@ endif()
19set(mockcpp_FLAGS "-fPIC")19set(mockcpp_FLAGS "-fPIC")
20set(mockcpp_LINKER_FLAGS "")20set(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)
39endif()24endif()
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#依赖蓝区二进制仓mockcpp28#依赖蓝区二进制仓mockcpp
42set(FILE_NAME mockcpp-2.7.tar.gz)29set(FILE_NAME mockcpp-2.7.tar.gz)
@@ -46,56 +33,68 @@ set(MOCKCPP_SOURCE_PATH ${CANN_3RD_LIB_PATH}/mockcpp)
46set(MOCK_INSTALL_PATH ${CANN_3RD_LIB_PATH}/lib_cache/mockcpp)33set(MOCK_INSTALL_PATH ${CANN_3RD_LIB_PATH}/lib_cache/mockcpp)
47 34 
48message(STATUS "[ThirdParty][mockcpp] cmake install prefix ${CMAKE_INSTALL_PREFIX}")35message(STATUS "[ThirdParty][mockcpp] cmake install prefix ${CMAKE_INSTALL_PREFIX}")
49-# use for offline36+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)
53else()46else()
54- # the path can not same with the mockcpp source path which will be cleaned by building47+ 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(DOWNLOAD50+ 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 6053+ 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}")
63endif()62endif()
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}")
67if(EXISTS ${CANN_3RD_LIB_PATH}/mockcpp/${FILE_NAME})65if(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}")
70elseif(EXISTS ${CANN_3RD_LIB_PATH}/${FILE_NAME})68elseif(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}")
73else()71else()
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}")
76endif()74endif()
77 75 
78ExternalProject_Add(mockcpp_static_build76ExternalProject_Add(mockcpp_static_build
79 URL ${REQ_URL}77 URL ${REQ_URL}
80 URL_HASH SHA256=73ab0a8b6d1052361c2cebd85e022c0396f928d2e077bf132790ae3be766f60378 URL_HASH SHA256=73ab0a8b6d1052361c2cebd85e022c0396f928d2e077bf132790ae3be766f603
81- DEPENDS third_party_boost79+ TIMEOUT 300
82- DOWNLOAD_DIR ${CANN_3RD_LIB_PATH}/pkg80+ 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=OFF92 -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
99if(NOT EXISTS ${MOCK_INSTALL_PATH}/include)98if(NOT EXISTS ${MOCK_INSTALL_PATH}/include)
100 file(MAKE_DIRECTORY ${MOCK_INSTALL_PATH}/include)99 file(MAKE_DIRECTORY ${MOCK_INSTALL_PATH}/include)
101endif()100endif()
@@ -105,11 +104,6 @@ set(MOCKCPP_INCLUDE_ONE ${MOCK_INSTALL_PATH}/include)
105set(MOCKCPP_INCLUDE_TWO ${BOOST_INCLUDE_DIR})104set(MOCKCPP_INCLUDE_TWO ${BOOST_INCLUDE_DIR})
106set(MOCKCPP_STATIC_LIBRARY ${MOCK_INSTALL_PATH}/lib/libmockcpp.a)105set(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- 
113set(MOCKCPP_INCLUDE_DIR ${MOCKCPP_INCLUDE_ONE} ${MOCKCPP_INCLUDE_TWO})107set(MOCKCPP_INCLUDE_DIR ${MOCKCPP_INCLUDE_ONE} ${MOCKCPP_INCLUDE_TWO})
114get_filename_component(MOCKCPP_LIBRARY_DIR ${MOCKCPP_STATIC_LIBRARY} DIRECTORY)108get_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
44include(FindPackageHandleStandardArgs)44include(FindPackageHandleStandardArgs)
45find_package_handle_standard_args(openssl45find_package_handle_standard_args(openssl
46 FOUND_VAR46 FOUND_VAR
47- openssl_FOUND 47+ openssl_FOUND
48 REQUIRED_VARS48 REQUIRED_VARS
49 OPENSSL_INCLUDE49 OPENSSL_INCLUDE
50 CRYPTO_LIB_PATH50 CRYPTO_LIB_PATH
@@ -117,6 +117,7 @@ else()
117 ExternalProject_Add(openssl_project117 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_COMMAND122 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/symengine_add_mod.patch→third_party/patch/symengine_add_mod.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 & Protoc80# 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_PATH85 NO_DEFAULT_PATH
86)86)
87 87 
@@ -158,8 +158,9 @@ endif()
158ExternalProject_Add(protobuf_src158ExternalProject_Add(protobuf_src
159 URL ${REQ_URL}159 URL ${REQ_URL}
160 URL_HASH SHA256=9bd87b8280ef720d3240514f884e56a712f2218f0d693b48050c836028940a42160 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.patch163+ 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)
321add_library(protobuf_static STATIC IMPORTED GLOBAL)322add_library(protobuf_static STATIC IMPORTED GLOBAL)
322if(HOST_PROTOBUF_STATIC_INCLUDE AND HOST_PROTOBUF_STATIC_LIB)323if(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 TRUE357 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.a361 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)
13unset(PYBIND11_INCLUDE CACHE)13unset(PYBIND11_INCLUDE CACHE)
14 14 
15set(PYBIND11_DOWNLOAD_PATH ${CANN_3RD_LIB_PATH}/pkg)15set(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 
18find_path(PYBIND11_INCLUDE18find_path(PYBIND11_INCLUDE
19 NAMES pybind11/pybind11.h19 NAMES pybind11/pybind11.h
@@ -25,52 +25,50 @@ find_path(PYBIND11_INCLUDE
25include(FindPackageHandleStandardArgs)25include(FindPackageHandleStandardArgs)
26find_package_handle_standard_args(pybind1126find_package_handle_standard_args(pybind11
27 FOUND_VAR27 FOUND_VAR
28- pybind11_FOUND28+ pybind11_FOUND
29 REQUIRED_VARS29 REQUIRED_VARS
30- PYBIND11_INCLUDE30+ PYBIND11_INCLUDE
31)31)
32if(pybind11_FOUND AND NOT FORCE_REBUILD_CANN_3RD)32if(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- )
39else()35else()
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(DOWNLOAD47+ 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_RESULT55+ ${PYBIND11_URL_ARGS}
64- OUTPUT_QUIET56+ TIMEOUT 300
65- ERROR_QUIET57+ 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 PROPERTIES67+ 
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)
76endif()74endif()
@@ -67,8 +67,9 @@ else()
67 if(RDMA_CORE_PATCH_PROJECT_URL)67 if(RDMA_CORE_PATCH_PROJECT_URL)
68 ExternalProject_Add(rdma_core_patch68 ExternalProject_Add(rdma_core_patch
69 URL ${RDMA_CORE_PATCH_PROJECT_URL}69 URL ${RDMA_CORE_PATCH_PROJECT_URL}
70- URL_HASH SHA256=54ca56b3b68bc465a78dd5839cd7110610745c7152a1dc3a72b265deeebb905f70+ 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_src101 ExternalProject_Add(rdma_core_src
101 URL ${RDMA_CORE_PROJECT_URL}102 URL ${RDMA_CORE_PROJECT_URL}
102 URL_HASH SHA256=aa935de1fcd07c42f7237b0284b5697b1ace2a64f2bcfca3893185bc91b8c74d103 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=0125 -DENABLE_RESOLVE_NEIGH=0
124 -DCMAKE_SKIP_RPATH=True126 -DCMAKE_SKIP_RPATH=True
125 -DNO_PYVERBS=1127 -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-abi131 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_build43 ExternalProject_Add(re2_build
44 URL ${REQ_URL}44 URL ${REQ_URL}
45 URL_HASH SHA256=cd191a311b84fcf37310e5cd876845b4bf5aee76fdd755008eef3b6478ce07bb45 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.patch49+ 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 TRUE53 EXCLUDE_FROM_ALL TRUE
53 DWONLOAD_NO_PROGRESS TRUE54 DWONLOAD_NO_PROGRESS TRUE
54 )55 )
55-endif()56+endif()
@@ -35,6 +35,7 @@ else()
35 ExternalProject_Add(external_seccomp35 ExternalProject_Add(external_seccomp
36 URL ${REQ_URL}36 URL ${REQ_URL}
37 URL_HASH SHA256=96bbadb4384716272a6d2be82801dc564f7aab345febfe9b698b70fc606e3f7537 URL_HASH SHA256=96bbadb4384716272a6d2be82801dc564f7aab345febfe9b698b70fc606e3f75
38+ TIMEOUT 300
38 DOWNLOAD_DIR download/seccomp39 DOWNLOAD_DIR download/seccomp
39 PREFIX third_party40 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)
54if(seccomp_download_dependent)55if(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)
15endif()15endif()
16include(ExternalProject)16include(ExternalProject)
17ExternalProject_Add(secure_c17ExternalProject_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.gz19 https://gitee.com/openeuler/libboundscheck/repository/archive/v1.1.16.tar.gz
20 URL_MD5 ae4865cec1bfb52f7dca03f5c05ac98a20 URL_MD5 ae4865cec1bfb52f7dca03f5c05ac98a
21+ TIMEOUT 300
21 DOWNLOAD_DIR download/secure_c22 DOWNLOAD_DIR download/secure_c
22 PREFIX third_party23 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_ARGS36 list(APPEND SYMENGINE_EXTRA_ARGS
37- PATCH_COMMAND patch -p1 < ${CMAKE_CURRENT_LIST_DIR}/symengine_add_mod.patch37+ 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_ARGS41 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.patch43+ 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_ARGS48 list(APPEND SYMENGINE_EXTRA_ARGS
49 URL ${REQ_URL}49 URL ${REQ_URL}
50 URL_HASH SHA256=1b5c3b0bc6a9f187635f93585649f24a18e9c7f2167cebcd885edeaaf211d95650 URL_HASH SHA256=1b5c3b0bc6a9f187635f93585649f24a18e9c7f2167cebcd885edeaaf211d956
51+ TIMEOUT 300
51 DOWNLOAD_DIR ${CANN_3RD_LIB_PATH}/symengine52 DOWNLOAD_DIR ${CANN_3RD_LIB_PATH}/symengine
52- PATCH_COMMAND patch -p1 < ${CMAKE_CURRENT_LIST_DIR}/symengine_add_mod.patch53+ 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=OFF70 -DCMAKE_CXX_EXTENSIONS=OFF
70 -DCMAKE_INSTALL_LIBDIR=lib71 -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/boost76 -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")
48endif()48endif()
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.patch51+ 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 ""