[CMake] CMAKE_SYSTEM_PROCESSOR says x86 on Win64 -> Patch

Martin Koller martin.koller at etm.at
Fri Feb 22 06:23:23 EST 2013


On Thursday 21 February 2013 20:46:14 Koller, Martin wrote:
> Hi all,
> 
> I found an old cmake bug entry (see below) for the problem I have:
> 
> I downloaded and installed the 32bit cmake exe on a 64bit windows
> and wanted to build our project as 64bit executable. However in our
> cmake files (which are used for Linux, Solaris, windows) we often check
> for the current processor architecture we build for as we need to link
> against external libraries which are stored in different subdirs etc.
> 
> Problem is: as cmake is a 32bit exe, wincrap always returns a value
> of "x86" even on a 64bit machine as described here:
> http://blogs.msdn.com/b/david.wang/archive/2006/03/26/howto-detect-process-bitness.aspx
> 
> In brief - they say to detect the current CPU shall be done as:
> 
> IF PROCESSOR_ARCHITECTURE == amd64 OR
>    PROCESSOR_ARCHITEW6432 == amd64 THEN
>    // OS is 64bit
> ELSE
>    // OS is 32bit
> END IF
> 
> I think this should really be fixed in cmake directly to be able
> to use this cmake variable in a true platform independant way
> (at least it already works perfectly for all other platforms)
> and the cmake doc suggest that it tells me excactly that:
> "CMAKE_SYSTEM_PROCESSOR: The name of the CPU CMake is building for."
> which is not correct in this case.
> 
> Shall I reopen this mantis task ?
> 
> Old bug entry: http://public.kitware.com/Bug/view.php?id=9065
> 

I propose the attached patch for CMakeDetermineSystem.cmake
Can someone add this to the mentioned mantis bug entry or shall I create a new one ?

-- 
Best regards/Schöne Grüße

Martin

A: Because it breaks the logical sequence of discussion
Q: Why is top posting bad?

()  ascii ribbon campaign - against html e-mail 
/\  www.asciiribbon.org   - against proprietary attachments

This mail was not scanned before sending.
It was sent from a secure Linux desktop.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: diff
Type: text/x-patch
Size: 662 bytes
Desc: not available
URL: <http://www.cmake.org/pipermail/cmake/attachments/20130222/c8db4d7f/attachment.bin>


More information about the CMake mailing list