J'essaie de construire un projet en mode Release. Par défaut, il est construit en mode débogage. Je mets la variable CMAKE_BUILD_TYPE
à "Release" dans CMakeLists.txt
. Mais il construit toujours le projet en mode débogage. Lorsque je passe "Release" comme type de build dans la commande CMake, cela ne fonctionne toujours pas.
La commande CMake que j'utilise est:
cmake -G"Visual Studio 10" -DCMAKE_BUILD_TYPE=Release
-H"source_path" -B"Build path"
Veuillez fournir une solution, le cas échéant.
Pour changer le type de build, sous Windows, cela doit être fait au moment de la build:
cmake --build {DIR} --config Release
Par défaut, c'est Debug. Je cherche toujours un moyen de changer cette valeur par défaut. CMAKE_BUILD_TYPE ne fonctionne pas bien sûr, et le réglage de CMAKE_CONFIGURATION_TYPES ne fonctionne pas non plus, évidemment pour la même raison, ils ne s'appliquent qu'aux makefiles Unix, pas aux projets Visual.
Je l'ai vérifié avec Visual Studio 2015 et cmake 3.3.
Réponse courte
cmake --build {BUILD_DIR_PATH} --target ALL_BUILD --config {BUILD_TYPE}
Exemple
cmake --build . --target ALL_BUILD --config Release
Réponse longue
cmake -G{GENERATOR_NAME} -B{BUILD_DIR_PATH} -H{SOURCE_DIR_PATH}
cmake --build {BUILD_DIR_PATH} --target ALL_BUILD --config {BUILD_TYPE}
Exemple
cmake -GVisual Studio 14 -Bbuild/win32/x86 -H.
cmake --build build/win32/x86 --target ALL_BUILD --config Release
Informations supplémentaires
"-G" - spécifie le nom du générateur
"-B" - spécifie le chemin d'accès au dossier de génération
"-H" - spécifie le chemin d'accès au dossier source
Vous ne pouvez pas définir le type de build par défaut pour Visual Studio à partir de la ligne de commande.
Les générateurs Visual Studio de CMake généreront les quatre profils standard (Debug, RelWithDebInfo, MinSizeRel et Release) et vous devez choisir celui que vous souhaitez créer à partir de VS. En effet, les informations sur la configuration active ne font pas partie des fichiers de projet générés par CMake, mais font partie de .suo
fichier généré par VS.
Si vous voulez une construction automatisée d'une configuration particulière, utilisez MSBuild au lieu de VS qui vous permet de spécifier une configuration sur la ligne de commande.