From 5a8221f571bc8fbba24e75b0acdc27e7659f6860 Mon Sep 17 00:00:00 2001 From: Kolan Sh Date: Mon, 22 Aug 2016 21:27:33 +0300 Subject: [PATCH] Fix architecture detection when MinGW is 32 while host is 64. --- CPackDetectArch.cmake | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/CPackDetectArch.cmake b/CPackDetectArch.cmake index e878179..a968560 100644 --- a/CPackDetectArch.cmake +++ b/CPackDetectArch.cmake @@ -9,11 +9,17 @@ SET (ARCHITECTURE "${CUSTOM_ARCHITECTURE}") IF (ARCHITECTURE STREQUAL "") # SET (ARCHITECTURE "${CMAKE_SYSTEM_PROCESSOR}") # SET (ARCHITECTURE "${CMAKE_HOST_SYSTEM_PROCESSOR}") - EXECUTE_PROCESS(COMMAND uname -m COMMAND tr -d '\n' OUTPUT_VARIABLE ARCHITECTURE) + IF (WIN32) + EXECUTE_PROCESS(COMMAND uname -s COMMAND tr -d '\n' OUTPUT_VARIABLE ARCHITECTURE) + ELSE (WIN32) + EXECUTE_PROCESS(COMMAND uname -m COMMAND tr -d '\n' OUTPUT_VARIABLE ARCHITECTURE) + ENDIF (WIN32) # Replacements STRING (REGEX REPLACE "^x86_64$" "amd64" ARCHITECTURE "${ARCHITECTURE}") + STRING (REGEX REPLACE "MINGW64.*" "amd64" ARCHITECTURE "${ARCHITECTURE}") STRING (REGEX REPLACE "^i.86$" "i386" ARCHITECTURE "${ARCHITECTURE}") + STRING (REGEX REPLACE "MINGW32.*" "i386" ARCHITECTURE "${ARCHITECTURE}") STRING (REGEX REPLACE "^armv7l$" "armel" ARCHITECTURE "${ARCHITECTURE}") ENDIF ()