# Returns the host triple. | |
# Invokes config.guess | |
function( get_target_triple var ) | |
if( MSVC ) | |
if( CMAKE_CL_64 ) | |
set( value "x86_64-pc-win32" ) | |
else() | |
set( value "i686-pc-win32" ) | |
endif() | |
elseif( MINGW AND NOT MSYS ) | |
if( CMAKE_SIZEOF_VOID_P EQUAL 8 ) | |
set( value "x86_64-w64-mingw32" ) | |
else() | |
set( value "i686-pc-mingw32" ) | |
endif() | |
else( MSVC ) | |
set(config_guess ${LLVM_MAIN_SRC_DIR}/autoconf/config.guess) | |
execute_process(COMMAND sh ${config_guess} | |
RESULT_VARIABLE TT_RV | |
OUTPUT_VARIABLE TT_OUT | |
OUTPUT_STRIP_TRAILING_WHITESPACE) | |
if( NOT TT_RV EQUAL 0 ) | |
message(FATAL_ERROR "Failed to execute ${config_guess}") | |
endif( NOT TT_RV EQUAL 0 ) | |
set( value ${TT_OUT} ) | |
endif( MSVC ) | |
set( ${var} ${value} PARENT_SCOPE ) | |
message(STATUS "Target triple: ${value}") | |
endfunction( get_target_triple var ) |