1*3c7ae9deSAndroid Build Coastguard Worker 2*3c7ae9deSAndroid Build Coastguard Worker# save the folder when this file is included, for use later 3*3c7ae9deSAndroid Build Coastguard Workerset(THIS_FILE_DIR ${CMAKE_CURRENT_LIST_DIR}) 4*3c7ae9deSAndroid Build Coastguard Worker 5*3c7ae9deSAndroid Build Coastguard Workerfunction(aws_detect_target_platform out_os out_arch) 6*3c7ae9deSAndroid Build Coastguard Worker if (CMAKE_CROSSCOMPILING AND CMAKE_SYSTEM_NAME STREQUAL "Android") 7*3c7ae9deSAndroid Build Coastguard Worker set(${out_os} "android" PARENT_SCOPE) 8*3c7ae9deSAndroid Build Coastguard Worker set(${out_arch} "${ANDROID_ABI}" PARENT_SCOPE) 9*3c7ae9deSAndroid Build Coastguard Worker return() 10*3c7ae9deSAndroid Build Coastguard Worker endif() 11*3c7ae9deSAndroid Build Coastguard Worker try_compile( 12*3c7ae9deSAndroid Build Coastguard Worker RESULT_UNUSED 13*3c7ae9deSAndroid Build Coastguard Worker ${CMAKE_CURRENT_BINARY_DIR} 14*3c7ae9deSAndroid Build Coastguard Worker SOURCES "${THIS_FILE_DIR}/osdetect.c" 15*3c7ae9deSAndroid Build Coastguard Worker OUTPUT_VARIABLE OS_OUTPUT 16*3c7ae9deSAndroid Build Coastguard Worker ) 17*3c7ae9deSAndroid Build Coastguard Worker # Find the error in the output, then strip the identifier off 18*3c7ae9deSAndroid Build Coastguard Worker string(REGEX MATCH "OS ([a-zA-Z]+)" OS "${OS_OUTPUT}") 19*3c7ae9deSAndroid Build Coastguard Worker string(REPLACE "OS " "" OS "${OS}") 20*3c7ae9deSAndroid Build Coastguard Worker 21*3c7ae9deSAndroid Build Coastguard Worker try_compile( 22*3c7ae9deSAndroid Build Coastguard Worker RESULT_UNUSED 23*3c7ae9deSAndroid Build Coastguard Worker ${CMAKE_CURRENT_BINARY_DIR} 24*3c7ae9deSAndroid Build Coastguard Worker SOURCES "${THIS_FILE_DIR}/archdetect.c" 25*3c7ae9deSAndroid Build Coastguard Worker OUTPUT_VARIABLE ARCH_OUTPUT 26*3c7ae9deSAndroid Build Coastguard Worker ) 27*3c7ae9deSAndroid Build Coastguard Worker 28*3c7ae9deSAndroid Build Coastguard Worker # Find the error in the output, then strip the identifier off 29*3c7ae9deSAndroid Build Coastguard Worker string(REGEX MATCH "ARCH ([a-zA-Z0-9_]+)" ARCH "${ARCH_OUTPUT}") 30*3c7ae9deSAndroid Build Coastguard Worker string(REPLACE "ARCH " "" ARCH "${ARCH}") 31*3c7ae9deSAndroid Build Coastguard Worker 32*3c7ae9deSAndroid Build Coastguard Worker set(${out_os} "${OS}" PARENT_SCOPE) 33*3c7ae9deSAndroid Build Coastguard Worker set(${out_arch} "${ARCH}" PARENT_SCOPE) 34*3c7ae9deSAndroid Build Coastguard Workerendfunction() 35