diff --git a/CMakeLists.txt b/CMakeLists.txt index 60cda040a..99ed3c4e6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -282,7 +282,10 @@ if (NOT ARCH OR ARCH STREQUAL "" OR ARCH STREQUAL "native" OR ARCH STREQUAL "def if(CMAKE_SYSTEM_PROCESSOR STREQUAL "") set(CMAKE_SYSTEM_PROCESSOR ${CMAKE_HOST_SYSTEM_PROCESSOR}) endif() - set(ARCH_ID "${CMAKE_SYSTEM_PROCESSOR}") + # On Windows, CMake sets CMAKE{_HOST,}_SYSTEM_PROCESSOR to the value of the + # PROCESSOR_ARCHITECTURE environment variable. On some systems it may be set to + # AMD64. Lowercase it to ensure checks for "x86_64" or "amd64" work as expected. + string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" ARCH_ID) else() set(ARCH_ID "${ARCH}") endif()