Cmake ignorant CMAKE_BUILD_TYPE=Debug
Je suis en train d'essayer d'inclure debug/release dépendant de drapeaux du compilateur, tels que:
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x -Wall -DUSE_BOOST")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall")
set(CMAKE_CSS_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wall -O3")
J'ai créer mon dossier de création avec une commande telle que:
cmake -DCMAKE_BUILD_TYPE=Release -D UseFortran=True -D CMAKE_CXX_COMPILER=g++-4.6 ~/repos/cliques/cliques
Cependant, il semble avec CMAKE version 2.8.7, CMAKE_BUILD_TYPE est ignoré. Il semble que cela fonctionne parfaitement avec la version 2.8.4 (sur une autre machine), alors cette méthode obsolète ou est-il un autre problème?
Zenna
Il n'est pas obsolète. Comment allez-vous évaluer que c'est d'être ignoré?
Pas de symboles de débogage sont dans le fichier exécutable, et si j'ajoute la mauvaise commandes par exemple set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Mur de beaucoup de mauvaises commandes"), il n'y a pas d'effet.
Faut lire: cmake.org/pipermail/cmake/2008-September/023808.html
Pas de symboles de débogage sont dans le fichier exécutable, et si j'ajoute la mauvaise commandes par exemple set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Mur de beaucoup de mauvaises commandes"), il n'y a pas d'effet.
Faut lire: cmake.org/pipermail/cmake/2008-September/023808.html
OriginalL'auteur zenna | 2012-06-14
Vous devez vous connecter pour publier un commentaire.
Vous avez une faute de frappe. Votre code dit
CMAKE_CSS_FLAGS_RELEASE
. AvisCSS
, il devrait êtreCXX
.OriginalL'auteur doug65536
Le problème c'est qu'il doit y avoir un espace entre le
-D
et de la variable. Qui est, il faut:-D <var>:<type>=<value>
J'ai jamais eu à utiliser un espace après-D. Êtes-vous sûr que votre
CMAKE_CXX_FLAGS_DEBUG
contenues-g
? Si vous ré-utilisé le même répertoire de construction, il est possible que les valeurs non valides dans la variable de cache ont été réutilisés.Sont le type de construction
RELEASE
etRelease
équivalent?Est-il un moyen de forcer
CMAKE_BUILD_TYPE
dans le cas où il n'était pas définies sur la ligne de commande?OriginalL'auteur zenna
Je pense qu'ils ont fait une Faute de frappe Dans CMAKE_BUILD_TYPE dans la version précédente. Nous avons eu ce problème et voici une ligne qui fonctionne.
Vous pouvez vérifier que toutes les choses allaient très bien avec:
À l'aide de cette commande peut vous donner le droit chemin, le nom de la variable CMAKE_BUILD_TYPE.
Bonne chance.
OriginalL'auteur Cyrs
Pourquoi n'utilisez-vous pas
-DCMAKE_BUILD_TYPE=Debug
, lors de la création de dossier de création?Cmake construire la Libération du type de projet ou de Débogage type de projet, mais pas les deux ensemble.
OriginalL'auteur exbluesbreaker