[CMake] OS X architecture changes interfere with CheckTypeSize()?

Michael Wild themiwi at gmail.com
Wed Aug 11 15:52:13 EDT 2010


On 11. Aug, 2010, at 21:44 , Erik Lindahl wrote:

> Hi,
> 
> Sound technical answers from both David & Clinton - I see the limitations, and why we have to live with it for now ;-)
> 
> Given that there are good reasons to change it on-the-fly, but that it is still almost as fundamental as a compiler change, perhaps it could at least make sense to display some sort of warning if it is changed, and stress that it will not update architecture-dependent data in the cache?
> 
> Cheers,
> 
> Erik

The problem is more fundamental. If you set CMAKE_OSX_ARCHITECTURES to e.g. i386;x86_64;ppc;ppc64 to compile a four-way universal binary, what is the expected result from CheckTypeSize() and similar functions? There should be one result for each of the architectures. That's why you need to do it at compile-time using __i386__, __x86_64__, __ppc__ and __ppc64__, or you test the length of the CMAKE_OSX_ARCHITECTURES list and if that is larger than one, you error out. IMHO CMake can't help you much beyond that.

Michael


More information about the CMake mailing list