# save the folder when this file is included, for use later set(THIS_FILE_DIR ${CMAKE_CURRENT_LIST_DIR}) function(aws_detect_target_platform out_os out_arch) if (CMAKE_CROSSCOMPILING AND CMAKE_SYSTEM_NAME STREQUAL "Android") set(${out_os} "android" PARENT_SCOPE) set(${out_arch} "${ANDROID_ABI}" PARENT_SCOPE) return() endif() try_compile( RESULT_UNUSED ${CMAKE_CURRENT_BINARY_DIR} SOURCES "${THIS_FILE_DIR}/osdetect.c" OUTPUT_VARIABLE OS_OUTPUT ) # Find the error in the output, then strip the identifier off string(REGEX MATCH "OS ([a-zA-Z]+)" OS "${OS_OUTPUT}") string(REPLACE "OS " "" OS "${OS}") try_compile( RESULT_UNUSED ${CMAKE_CURRENT_BINARY_DIR} SOURCES "${THIS_FILE_DIR}/archdetect.c" OUTPUT_VARIABLE ARCH_OUTPUT ) # Find the error in the output, then strip the identifier off string(REGEX MATCH "ARCH ([a-zA-Z0-9_]+)" ARCH "${ARCH_OUTPUT}") string(REPLACE "ARCH " "" ARCH "${ARCH}") set(${out_os} "${OS}" PARENT_SCOPE) set(${out_arch} "${ARCH}" PARENT_SCOPE) endfunction()