macro(_CHECK_CPU_ARCH ARCH ARCH_DEFINES VARIABLE)
    if(NOT DEFINED HAVE_${VARIABLE})
        message(STATUS "Check CPU architecture is ${ARCH}")
        set(CHECK_CPU_ARCH_DEFINES ${ARCH_DEFINES})
        configure_file(${PROJECT_SOURCE_DIR}/cmake/CheckCPUArch.c.in ${PROJECT_BINARY_DIR}/CMakeFiles/CMakeTmp/CheckCPUArch.c @ONLY)
        try_compile(HAVE_${VARIABLE} "${PROJECT_BINARY_DIR}"
            "${PROJECT_BINARY_DIR}/CMakeFiles/CMakeTmp/CheckCPUArch.c")
        if(HAVE_${VARIABLE})
            message(STATUS "Check CPU architecture is ${ARCH} - yes")
            set(${VARIABLE} 1 CACHE INTERNAL "Result of CHECK_CPU_ARCH_X64" FORCE)
        else ()
            message(STATUS "Check CPU architecture is ${ARCH} - no")
        endif()
    endif ()
endmacro(_CHECK_CPU_ARCH)

macro(CHECK_CPU_ARCH_X64 VARIABLE)
    _CHECK_CPU_ARCH(x64 "defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) || defined(_M_X64) || defined(_M_AMD64)" ${VARIABLE})
endmacro(CHECK_CPU_ARCH_X64)

macro(CHECK_CPU_ARCH_X86 VARIABLE)
    _CHECK_CPU_ARCH(x86 "defined(__i386__) || defined(__i486__) || defined(__i586__) || defined(__i686__) ||defined( __i386) || defined(_M_IX86)" ${VARIABLE})
endmacro(CHECK_CPU_ARCH_X86)
