--- opencv-3.3.0/cmake/OpenCVDetectCXXCompiler.cmake_orig 2017-10-27 06:32:16.790452991 +0200 +++ opencv-3.3.0/cmake/OpenCVDetectCXXCompiler.cmake 2017-10-27 06:34:33.035306589 +0200 @@ -60,6 +60,7 @@ endif() endif() +message(STATUS "Detected processor: ${CMAKE_SYSTEM_PROCESSOR}") if(MSVC64 OR MINGW64) set(X86_64 1) elseif(MINGW OR (MSVC AND NOT CMAKE_CROSSCOMPILING)) @@ -76,11 +77,17 @@ set(PPC64LE 1) endif() -# Workaround for 32-bit operating systems on 64-bit x86_64 processor -if(X86_64 AND CMAKE_SIZEOF_VOID_P EQUAL 4 AND NOT FORCE_X86_64) - message(STATUS "sizeof(void) = 4 on x86 / x86_64 processor. Assume 32-bit compilation mode (X86=1)") - unset(X86_64) - set(X86 1) +# Workaround for 32-bit operating systems on x86_64/aarch64 processor +if(CMAKE_SIZEOF_VOID_P EQUAL 4 AND NOT FORCE_X86_64) + message(STATUS "sizeof(void) = 4 on 64 bit processor. Assume 32-bit compilation mode") + if (X86_64) + unset(X86_64) + set(X86 1) + endif() + if (AARCH64) + unset(AARCH64) + set(ARM 1) + endif() endif() # Similar code exists in OpenCVConfig.cmake