Как собрать x86 и / или x64 на Windows из командной строки с помощью CMAKE?
Один из способов получить cmake для сборки x86 в Windows с помощью Visual Studio:
- Запустите командную строку Visual Studio для x86
- Запустите cmake:
cmake -G "NMake Makefiles" \path_to_source\
- NMAKE
Один из способов получить cmake для сборки x64 в Windows с помощью Visual Studio:
- Запустите командную строку Visual Studio для x64
- Запустите cmake:
cmake -G "NMake Makefiles" \path_to_source\
- NMAKE
Используя Cmake, как мне скомпилировать одну или обе архитектуры? (например, как Visual Studio делает это в IDE)
2 ответа
Это не может быть сделано с CMake. Вы должны сгенерировать две отдельные папки сборки. Один для сборки xake NMake и один для сборки x64 NMake. Вы также не можете создать один проект Visual Studio, охватывающий обе архитектуры, с помощью CMake.
Чтобы создавать проекты Visual Studio из командной строки как для 32-разрядных, так и для 64-разрядных систем без запуска командной строки Visual Studio, используйте обычные генераторы Visual Studio:
mkdir build32 & pushd build32
cmake -G "Visual Studio 12 2013" \path_to_source\
popd
mkdir build64 & pushd build64
cmake -G "Visual Studio 12 2013 Win64" \path_to_source\
popd
cmake --build build32 --config Release
cmake --build build64 --config Release
Сгенерированные CMake проекты, использующие один из генераторов Visual Studio, можно создавать из командной строки с помощью параметра --build
сопровождаемый каталогом сборки. --config
options определяет конфигурацию сборки.
Попробуйте использовать CMAKE_GENERATOR_PLATFORM
например
// x86
cmake -DCMAKE_GENERATOR_PLATFORM=x86 .
// x64
cmake -DCMAKE_GENERATOR_PLATFORM=x64 .
Кроме CMAKE_GENERATOR_PLATFORM
переменная, есть также -A
переключатель
cmake -G "Visual Studio 16 2019" -A Win32
cmake -G "Visual Studio 16 2019" -A x64
https://cmake.org/cmake/help/v3.16/generator/Visual%20Studio%2016%202019.html
-A <platform-name> = Specify platform name if supported by
generator.