diff --git a/include/BoostInstall.cmake b/include/BoostInstall.cmake index 3a00c16..069dde0 100644 --- a/include/BoostInstall.cmake +++ b/include/BoostInstall.cmake @@ -152,7 +152,31 @@ function(__boost_install_set_output_name LIB TYPE VERSION) # Arch and model math(EXPR bits ${CMAKE_SIZEOF_VOID_P}*8) - string(APPEND name_debug "-x${bits}") # x86 only for now - string(APPEND name_release "-x${bits}") + set(arch "x") + + if(MSVC) + + if(CMAKE_CXX_COMPILER_ARCHITECTURE_ID MATCHES "^ARM") + set(arch "a") + endif() + + else() + + if(CMAKE_SYSTEM_PROCESSOR MATCHES "^[Aa][Rr][Mm]" + OR CMAKE_SYSTEM_PROCESSOR MATCHES "aarch") + set(arch "a") + elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^mips") + set(arch "m") + elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i(3|6)86") + set(arch "x") + else() + string(SUBSTRING "${CMAKE_SYSTEM_PROCESSOR}" 0 1 arch) + string(TOLOWER "${arch}" arch) + endif() + + endif() + + string(APPEND name_debug "-${arch}${bits}") + string(APPEND name_release "-${arch}${bits}") endif()