Skip to content

Commit dd30dd2

Browse files
authored
Merge pull request #419 from anthony-linaro/fix-arm64-msvc
Fix Windows ARM64 builds when using MSVC
2 parents 6b7f065 + 1db8fcd commit dd30dd2

File tree

3 files changed

+11
-5
lines changed

3 files changed

+11
-5
lines changed

Diff for: CMakeLists.txt

+5-2
Original file line numberDiff line numberDiff line change
@@ -224,15 +224,18 @@ if(BUILD_KVAZAAR_BINARY)
224224
target_link_libraries(kvazaar-bin PUBLIC kvazaar)
225225
endif()
226226

227+
list(APPEND ALLOW_AVX2 "x86_64" "AMD64")
228+
227229
if(MSVC)
228230
target_include_directories(kvazaar PUBLIC src/threadwrapper/include)
229-
set_property( SOURCE ${LIB_SOURCES_STRATEGIES_AVX2} APPEND PROPERTY COMPILE_FLAGS "/arch:AVX2" )
231+
if(${CMAKE_SYSTEM_PROCESSOR} IN_LIST ALLOW_AVX2)
232+
set_property( SOURCE ${LIB_SOURCES_STRATEGIES_AVX2} APPEND PROPERTY COMPILE_FLAGS "/arch:AVX2" )
233+
endif()
230234
else()
231235
if(BUILD_KVAZAAR_BINARY)
232236
set_target_properties(kvazaar-bin PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src)
233237
endif()
234238
set_target_properties(kvazaar PROPERTIES SOVERSION "7" VERSION "7.4.0")
235-
list(APPEND ALLOW_AVX2 "x86_64" "AMD64")
236239
if(${CMAKE_SYSTEM_PROCESSOR} IN_LIST ALLOW_AVX2)
237240
set_property( SOURCE ${LIB_SOURCES_STRATEGIES_AVX2} APPEND PROPERTY COMPILE_FLAGS "-mavx2 -mbmi -mpopcnt -mlzcnt -mbmi2" )
238241
set_property( SOURCE ${LIB_SOURCES_STRATEGIES_SSE41} APPEND PROPERTY COMPILE_FLAGS "-msse4.1" )

Diff for: src/global.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,7 @@ typedef enum { COLOR_Y = 0, COLOR_U, COLOR_V } color_t;
365365
# define COMPILE_POWERPC 0
366366
#endif
367367

368-
#if defined (_M_ARM) || defined(__arm__) || defined(__thumb__)
368+
#if defined (_M_ARM) || defined(_M_ARM64) || defined(__arm__) || defined(__thumb__)
369369
# define COMPILE_ARM 1
370370
#else
371371
# define COMPILE_ARM 0

Diff for: tests/CMakeLists.txt

+5-2
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,16 @@ if(BUILD_SHARED_LIBS)
1515
add_definitions(-DPIC)
1616
endif()
1717

18+
list(APPEND ALLOW_AVX2 "x86_64" "AMD64")
19+
1820
if(MSVC)
1921
target_include_directories(kvazaar_tests PUBLIC ../src/threadwrapper/include)
2022

21-
set_property( SOURCE ${TEST_SOURCES} APPEND PROPERTY COMPILE_FLAGS "/arch:AVX2" )
23+
if(${CMAKE_SYSTEM_PROCESSOR} IN_LIST ALLOW_AVX2)
24+
set_property( SOURCE ${TEST_SOURCES} APPEND PROPERTY COMPILE_FLAGS "/arch:AVX2" )
25+
endif()
2226
add_definitions(-DWIN32_LEAN_AND_MEAN -D_WIN32 -DWIN32 -DWIN64)
2327
else()
24-
list(APPEND ALLOW_AVX2 "x86_64" "AMD64")
2528
if(${CMAKE_SYSTEM_PROCESSOR} IN_LIST ALLOW_AVX2)
2629
set_property( SOURCE ${TEST_SOURCES} APPEND PROPERTY COMPILE_FLAGS "-mavx2 -mbmi -mpopcnt -mlzcnt -mbmi2" )
2730
endif()

0 commit comments

Comments
 (0)