Ответ 1
Было бы замечательно, если бы у CMake был 32/64-битный вариант из коробки. Это не так, поэтому вам нужно будет применить один из методов компилятора или генератора. Например:
-
GCC (в Linux) и некоторые другие компиляторы, например Sun Studio. Установите для
CFLAGS
иCXXFLAGS
значение-m32
(32-разрядная сборка) или-m64
(64-разрядная сборка). -
Windows, генератор Visual Studio. Используйте 64-битный генератор, например
cmake -G "Visual Studio 10 Win64" path\to\source\dir
скомпилировать 64-битную (x64). Пропустить "Win64" в имени генератора, чтобы построить для 32-битных
-
Mac OS X. Используйте переменную
CMAKE_OSX_ARCHITECTURES
CMake.cmake -DCMAKE_OSX_ARCHITECTURES=i386/path/to/source/dir
скомпилирует 32-битную сборкуcmake -DCMAKE_OSX_ARCHITECTURES=x86_64/path/to/source/dir
скомпилирует 64 бит.cmake "-DCMAKE_OSX_ARCHITECTURES=x86_64;i386"/path/to/source/dir
создаст 96-битные универсальные двоичные файлы :)
Выше слегка перефразировано.
http://dev.mysql.com/doc/internals/en/compiling-for-different-hardware-Achitectures.html
Обновление апреля 2019
Это старый ответ, некоторые вещи изменились, особенно для генератора VS на Windows.
с cmake 3.14 и установленной Visual Studio 2019
cmake -G "Visual Studio 16 2019" -A x64 path\to\source\dir
скомпилировать 64-битную (x64). Обычно вы можете опустить оба параметра -G и -A на компьютере с архитектурой x64 (вы используете ОС x64 в 2019 году, верно?)
cmake -G "Visual Studio 16 2019" -A Win32 path\to\source\dir
скомпилировать 32бит.