J'utilise CMake sur Windows avec un générateur Ninja
cmake -G Ninja ..
Cela utilise la chaîne d'outils Windows x86 par défaut. Comment spécifier x64 en utilisant le générateur Ninja?
PS: je sais comment générer x64 avec Visual Studio
cmake -G "Visual Studio 12 2013 Win64 ..
Vous devez définir l'environnement du compilateur en conséquence avant d'appeler la génération Ninja
. Si Visual Studio 2013 est installé sur le chemin d'installation standard que vous appelez:
"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x64
cmake.exe -G "Ninja" ..
Edit : Merci pour le conseil de @Antwane: "Ou exécutez simplement la commande CMake à partir d'une Microsoft Visual Studio Command Prompt (x64)
. Un raccourci vers cette invite est situé dans le menu Démarrer ".
La dénomination varie selon les versions de Visual Studio:
Lorsque je regarde ensuite le fichier CMakeCache.txt
Généré, je vois:
...
//CXX compiler
CMAKE_CXX_COMPILER:FILEPATH=C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin/AMD64/cl.exe
...
//Flags used by the linker.
CMAKE_EXE_LINKER_FLAGS:STRING= /machine:x64
...
//Path to a program.
CMAKE_LINKER:FILEPATH=C:/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin/AMD64/link.exe
...
Lorsque j'ai essayé d'exécuter cmake sur la ligne de commande sous Windows, en essayant d'utiliser Ninja et en ciblant le compilateur Visual Studio 14.0 (2015), il a continué à reprendre les autres compilateurs installés (dans mon cas gcc) à la place.
La ligne de commande suivante a fonctionné:
cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER="cl.exe" -DCMAKE_CXX_COMPILER="cl.exe" -DMSVC_TOOLSET_VERSION=140 ..