Index: cmake/modules/GetHostTriple.cmake =================================================================== --- cmake/modules/GetHostTriple.cmake +++ cmake/modules/GetHostTriple.cmake @@ -3,9 +3,19 @@ function( get_host_triple var ) if( MSVC ) - if( CMAKE_CL_64 ) + execute_process( + COMMAND ${CMAKE_CXX_COMPILER} + OUTPUT_VARIABLE CL_OUTPUT + ERROR_VARIABLE CL_ERROR) + STRING(REGEX REPLACE "Microsoft \\(R\\).* for (x64|x86|ARM).*" + "\\1" + CL_TARGET_ARCHITECTURE + ${CL_ERROR}) + if ( "${CL_TARGET_ARCHITECTURE}" STREQUAL "x64" ) set( value "x86_64-pc-win32" ) - else() + elseif ( "${CL_TARGET_ARCHITECTURE}" STREQUAL "ARM" ) + set( value "arm-pc-win32" ) + else () set( value "i686-pc-win32" ) endif() elseif( MINGW AND NOT MSYS )