Как определить целевую архитектуру с помощью CMake?

Я провел много исследований и не смог найти ответ на этот вопрос... как я могу надежно найти целевую архитектуру, для которой я компилирую, используя CMake? По сути, эквивалент QMAKE _TARGET.arch в qmake.

Большинство источников, кажется, предлагают CMAKE _SYSTEM _PROCESSOR, но это плохое решение, потому что это всегда будет возвращать i386, например, в OS X, независимо от того, компилируете ли вы для i386, x86 _64, ppc или ppc64.

Точно так же CMAKE _SIZEOF _VOID _P дает размер указателя системы , а не цели.

Я понимаю, что есть CMAKE _OSX _АРХИТЕКТУРЫ, но это может быть пустым, если не установлено, и в этом случае кажется, что по умолчанию все, на что способна система. Итак, как я могу найти информацию о целевой архитектуре?

И конкретно для OS X, как я могу отличить 32, 64 и Intel Universal?

41
задан Jake Petroules 14 August 2012 в 00:16
поделиться