[CMake] WIN32 vs WIN64
James Bigler
jamesbigler at gmail.com
Tue Oct 27 12:25:56 EDT 2009
find_program doesn't detect the difference between 64 and 32 bit executable,
so I need to augment the search paths to avoid looking in 64 bit locations
on a 32 bit system.
James
On Mon, Oct 26, 2009 at 6:55 PM, David Cole <david.cole at kitware.com> wrote:
> On Win64, in a 32-bit calling environment, there are two environment
> variables with values like this:
> PROCESSOR_ARCHITECTURE=x86
> PROCESSOR_ARCHITEW6432=AMD64
>
> In a pure 64-bit calling environment, there is just:
> PROCESSOR_ARCHITECTURE=AMD64
> (and no value for PROCESSOR_ARCHITEW6432)
>
> ...so: you could do something like this (although it may not be 100%
> foolproof...):
> if("$ENV{PROCESSOR_ARCHITEW6432}" STREQUAL "")
> if("$ENV{PROCESSOR_ARCHITECTURE}" STREQUAL "x86")
> # "pure" 32-bit environment...
> else()
> # "pure" 64-bit environment...
> endif()
> else()
> if("$ENV{PROCESSOR_ARCHITECTURE}" STREQUAL "x86")
> # 32-bit program running with an underlying 64-bit environment
> available...
> else()
> # theoretically impossible case...
> endif()
> endif()
>
> Of course, it would be better to not have conditionals based on the
> environment... Why do you need to do this?
>
>
> HTH,
> David
>
>
> On Mon, Oct 26, 2009 at 6:46 PM, James Bigler <jamesbigler at gmail.com>wrote:
>
>> All the WIN32 flags say they are valid for WIN64 machines. Is there no
>> equivalent WIN64 flag to determine if the OS is 32 or 64 bit regardless of
>> the bitness of the build?
>>
>> Thanks,
>> James
>>
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the CMake FAQ at:
>> http://www.cmake.org/Wiki/CMake_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.cmake.org/mailman/listinfo/cmake
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20091027/ed1e11da/attachment.htm>
More information about the CMake
mailing list