Skip to content

Commit d665810

Browse files
committed
Windows/ARM64 - fix build with clang-cl
1 parent be48b3e commit d665810

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

cmake/os/Windows.cmake

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,10 +174,9 @@ if(MSVC)
174174
-Wno-unused-local-typedef
175175
-Wno-microsoft-static-assert
176176
-Wno-c++17-extensions
177-
-msse4.2
178177
)
179178
if((CMAKE_SIZEOF_VOID_P MATCHES 8) AND MSVC_INTEL)
180-
add_compile_options(-mpclmul)
179+
add_compile_options(-mpclmul -msse4.2)
181180
endif()
182181
endif()
183182

mysys/CMakeLists.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,13 @@ IF(MSVC_INTEL)
6969
ELSEIF(MSVC_ARM64)
7070
SET (MYSYS_SOURCES ${MYSYS_SOURCES} crc32/crc32_arm64.c)
7171
ADD_DEFINITIONS(-DHAVE_ARMV8_CRC -DHAVE_ARMV8_CRC_CRYPTO_INTRINSICS)
72+
IF(CLANG_CL)
73+
SET_SOURCE_FILES_PROPERTIES(
74+
crc32/crc32_arm64.c
75+
PROPERTIES
76+
COMPILE_FLAGS "-march=armv8-a+crc"
77+
)
78+
ENDIF()
7279
ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|amd64|i386|i686")
7380
SET(MYSYS_SOURCES ${MYSYS_SOURCES} crc32/crc32_x86.c crc32/crc32c_x86.cc)
7481
IF(CMAKE_COMPILER_IS_GNUCC AND CMAKE_C_COMPILER_VERSION VERSION_LESS "5")

0 commit comments

Comments
 (0)