cmake: detect cpu architecture in SDL_DetectCPUArchitecture
Stop looking for arch, when one is found
This commit is contained in:
parent
9cf34908a1
commit
19d162281c
|
@ -104,11 +104,7 @@ set(SDL_DYLIB_COMPAT_VERSION "${SDL_DYLIB_COMPAT_VERSION_MAJOR}.${SDL_DYLIB_COMP
|
|||
|
||||
#message("SDL_SO_VERSION=${SDL_SO_VERSION} SDL_DYLIB_CURRENT_VERSION=${SDL_DYLIB_CURRENT_VERSION} SDL_DYLIB_COMPAT_VERSION=${SDL_DYLIB_COMPAT_VERSION}")
|
||||
|
||||
check_cpu_architecture(x86 SDL_CPU_X86)
|
||||
check_cpu_architecture(x64 SDL_CPU_X64)
|
||||
check_cpu_architecture(arm32 SDL_CPU_ARM32)
|
||||
check_cpu_architecture(arm64 SDL_CPU_ARM64)
|
||||
check_cpu_architecture(loongarch64 SDL_CPU_LOONGARCH64)
|
||||
SDL_DetectCPUArchitecture()
|
||||
|
||||
# Check for 64 or 32 bit
|
||||
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
|
|
|
@ -53,3 +53,24 @@ macro(SDL_DetectCMakePlatform)
|
|||
set(${SDL_CMAKE_PLATFORM} TRUE)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
function(SDL_DetectCPUArchitecture)
|
||||
set(archs x86 x64 arm32 arm64 loongarch64)
|
||||
set(found FALSE)
|
||||
foreach(arch ${archs})
|
||||
string(TOUPPER "${arch}" arch_upper)
|
||||
set(var_name "SDL_CPU_${arch_upper}")
|
||||
if(found)
|
||||
set(${var_name} 0 PARENT_SCOPE)
|
||||
else()
|
||||
check_cpu_architecture(${arch} ${var_name})
|
||||
set(found ${${var_name}})
|
||||
set(${var_name} ${${var_name}} PARENT_SCOPE)
|
||||
set(SDL_CPU_NAME ${arch})
|
||||
endif()
|
||||
endforeach()
|
||||
if(NOT found)
|
||||
message(AUTHOR_WARNING "Unknown architecture (failed archs=${archs})")
|
||||
set(SDL_CPU_NAME "(unknown)")
|
||||
endif()
|
||||
endfunction()
|
||||
|
|
Loading…
Reference in a new issue