Comment changer le type de build en mode Release dans cmake?

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 compilation dans la commande CMake, cela ne fonctionne toujours pas.

La commande CMake que j’utilise est la suivante:

 cmake -G"Visual Studio 10" -DCMAKE_BUILD_TYPE=Release -H"source_path" -B"Build path" 

S’il vous plaît fournir une solution, le cas échéant.

    Utilisez-le comme vous le faites, mais dans le fichier racine cmake, ajoutez ce qui suit avant le mot-clé du projet

     SET(CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE} CACHE STRING "" FORCE) PROJECT(MY_PROJECT)#It's here just to show where you should add it. 

    Pour changer le type de construction, sous Windows, cela doit être fait au moment de la construction:

     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 peaufiner CMAKE_CONFIGURATION_TYPES ne fonctionne pas non plus, évidemment pour la même raison, elles ne s’appliquent qu’aux makefiles Unix, pas aux projets Visual.

    Vous ne pouvez pas définir le type de génération 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 devrez choisir celui que vous voulez construire à 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 du fichier .suo généré par VS.

    Si vous souhaitez une génération 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.

    Je l’ai vérifié avec Visual Studio 2015 et cmake 3.3.

    Réponse courte

    Lien

     cmake --build {BUILD_DIR_PATH} --target ALL_BUILD --config {BUILD_TYPE} 

    Exemple

     cmake --build . --target ALL_BUILD --config Release 

    Longue réponse

     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 

    information additionnelle

    • “-G” – spécifie le nom du générateur

    • “-B” – spécifie le chemin d’access au dossier de construction

    • “-H” – spécifie le chemin d’access au dossier source