Skip to content

Commit 178c64d

Browse files
committed
fix: don't compile protoc by AVX512
1 parent 5af3e42 commit 178c64d

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

thirdparty/protobuf/CMakeLists.txt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,23 @@ set(protobuf_WITH_ZLIB ON CACHE BOOL "Disable zlib support in protobuf" FORCE)
33

44
set(_SAVED_CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY})
55
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${EXTERNAL_LIB_DIR})
6+
7+
# protoc runs on the build machine at configure/build time, so it must not
8+
# use ISA extensions the host CPU may lack (e.g. AVX-512 on CI runners).
9+
if (MSVC)
10+
set(_SAVED_C_FLAGS "${CMAKE_C_FLAGS}")
11+
set(_SAVED_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
12+
string(REGEX REPLACE "(/arch|/ARCH):[A-Za-z0-9]+" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
13+
string(REGEX REPLACE "(/arch|/ARCH):[A-Za-z0-9]+" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
14+
endif ()
15+
616
add_subdirectory(protobuf-3.21.12/cmake protobuf-3.21.12)
17+
18+
if (MSVC)
19+
set(CMAKE_C_FLAGS "${_SAVED_C_FLAGS}")
20+
set(CMAKE_CXX_FLAGS "${_SAVED_CXX_FLAGS}")
21+
endif ()
22+
723
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${_SAVED_CMAKE_ARCHIVE_OUTPUT_DIRECTORY})
824
unset(_SAVED_CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
925

0 commit comments

Comments
 (0)