function(set_if_arch_bitness var_name)
  cmake_parse_arguments(
      SIA # prefix
      "" # options
      "ARCH;CASE_32_BIT;CASE_64_BIT" # single-value args
      "" # multi-value args
      ${ARGN})

  if("${SIA_ARCH}" STREQUAL "i386" OR
     "${SIA_ARCH}" STREQUAL "i686" OR
     "${SIA_ARCH}" STREQUAL "x86" OR
     "${SIA_ARCH}" STREQUAL "armv6" OR
     "${SIA_ARCH}" STREQUAL "armv7" OR
     "${SIA_ARCH}" STREQUAL "armv7k" OR
     "${SIA_ARCH}" STREQUAL "armv7s")
    set("${var_name}" "${SIA_CASE_32_BIT}" PARENT_SCOPE)
  elseif("${SIA_ARCH}" STREQUAL "x86_64" OR
         "${SIA_ARCH}" STREQUAL "arm64" OR
         "${SIA_ARCH}" STREQUAL "aarch64" OR
         "${SIA_ARCH}" STREQUAL "powerpc64" OR
         "${SIA_ARCH}" STREQUAL "powerpc64le" OR
         "${SIA_ARCH}" STREQUAL "s390x")
    set("${var_name}" "${SIA_CASE_64_BIT}" PARENT_SCOPE)
  else()
    message(FATAL_ERROR "Unknown architecture: ${SIA_ARCH}")
  endif()
endfunction()

