Complete misunderstanding on my part. CMAKE_CL_64 indicates a _Microsoft_
compiler and is not a generic test for 64-bit. Start looking at the size
of void* instead.


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4325 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0b40ed4..bb62bb4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -51,14 +51,6 @@
   endif()
 endif()
 
-# CMake 64-bit detection leaves a bit to be desired and is sometimes
-# not properly set. Specifically we see this with mingw64. Try to
-# detect this scenario and fix things.
-if(NOT CMAKE_CL_64 AND CMAKE_SIZEOF_VOID_P MATCHES 8)
-  message(STATUS "WARNING: CMake misdetected 64-bit build. Fixing...")
-  set(CMAKE_CL_64 1)
-endif()
-
 if(MSVC)
   # Use the static C library for all build types
   foreach(var CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
@@ -76,7 +68,7 @@
   add_definitions(-wd4244 -wd4267 -wd4800 -wd4996)
 endif()
 
-if(CMAKE_CL_64)
+if(CMAKE_SIZEOF_VOID_P MATCHES 8)
   message(STATUS "64-bit build")
 else()
   message(STATUS "32-bit build")
@@ -139,7 +131,7 @@
 include_directories(${CMAKE_BINARY_DIR})
 
 # Minimum version is Windows 2000 (5.0)
-if(NOT CMAKE_CL_64)
+if(NOT CMAKE_SIZEOF_VOID_P MATCHES 8)
   add_definitions(-D_WIN32_IE=0x0500 -D_WIN32_WINNT=0x0500)
 else()
   # Win64 doesn't like us requesting a Windows version that didn't have
diff --git a/win/installer/CMakeLists.txt b/win/installer/CMakeLists.txt
index e09242c..ab9c085 100644
--- a/win/installer/CMakeLists.txt
+++ b/win/installer/CMakeLists.txt
@@ -1,4 +1,5 @@
-if(CMAKE_CL_64)
+# Detect a 64-bit build and give that installer a different name
+if(CMAKE_SIZEOF_VOID_P MATCHES 8)
   set(INST_NAME ${CMAKE_PROJECT_NAME}64-${VERSION})
   set(INST_DEFS -DWIN64)
 else()