On Aug 17, 2009, at 2:16 PM, Michael Wild wrote:
On 17. Aug, 2009, at 18:40, Michael Jackson wrote:
On Aug 17, 2009, at 12:30 PM, ML wrote:
Hi Mike,
The double __LP64__ is making sure it (__LP64__) is both DEFINED
and TRUE.
# if defined ((__APPLE__)) && defined(__LP64__) && __LP64__
typedef CIconHandle OSColorIcon; // Mac CIcon
#else
To to help me fine tune a bit..
Wouldn't (__APPLE__) be automatically defined if I am compiling on
OS X?
Is there a place where I can see what others like __LP64__ are
available?
-Jason
The last email will default to 32 bit i386 compiles:
echo | gcc -arch x86_64 -E -dM -
for 64 bit intel builds
Mike
My favorite for i386 is:
gcc -arch i386 -E -dM - < /dev/null
if I want to see the x86_64 stuff I do
gcc -arch x86_64 -E -dM - < /dev/null
If you want to force a 32 bit compile, set the
CMAKE_OSX_ARCHITECTURES variable to i386 and/or ppc and you're done!
You can check that you're compiling for 32 bit in your source files,
but you can't FORCE it. You have to do that in your build system.
You can do something like this in your CMake-code:
list( FIND CMAKE_OSX_ARCHITECTURES x86_64 __HAS_X86_64 )
list( FIND CMAKE_OSX_ARCHITECTURES ppc64 __HAS_PPC64 OR
CMAKE_SIZEOF_VOID_P EQUALS 8 )
if( __HAS_X86_64 OR __HAS_PPC64 OR )
message( SEND_ERROR "NO 64-bit architectures allowed! Adjust
CMAKE_OSX_ARCHITECTURES" )
endif()
Michael
he _could_ force an error on 64 bit compile:
#if defined (__LP64__) && (__LP64__)
#error NO 64 BIT COMPILES ALLOWED.
#endif
I agree that catching it at the build system level would be better but
if he _really_ wanted to stop the compilation dead in its tracks then
the above _should_ do the trick.
Mike Jackson
_______________________________________________
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