2016-08-22 09:12:46 -04:00
|
|
|
include(CheckSymbolExists)
|
|
|
|
function(detect_architecture symbol arch)
|
2019-07-20 08:41:42 +05:30
|
|
|
if (NOT DEFINED DYNARMIC_ARCHITECTURE)
|
2016-08-22 09:12:46 -04:00
|
|
|
set(CMAKE_REQUIRED_QUIET 1)
|
|
|
|
check_symbol_exists("${symbol}" "" ARCHITECTURE_${arch})
|
|
|
|
unset(CMAKE_REQUIRED_QUIET)
|
|
|
|
|
|
|
|
# The output variable needs to be unique across invocations otherwise
|
|
|
|
# CMake's crazy scope rules will keep it defined
|
|
|
|
if (ARCHITECTURE_${arch})
|
2019-07-20 08:41:42 +05:30
|
|
|
set(DYNARMIC_ARCHITECTURE "${arch}" PARENT_SCOPE)
|
2016-08-22 09:12:46 -04:00
|
|
|
set(ARCHITECTURE_${arch} 1 PARENT_SCOPE)
|
|
|
|
add_definitions(-DARCHITECTURE_${arch}=1)
|
|
|
|
endif()
|
|
|
|
endif()
|
|
|
|
endfunction()
|