L'affichage des variables CMake
Supposons que j'ai un paquet appelé Foo. Si j'ai lancer CMake sur un CMakeLists.txt fichier qui contient find_package(Foo)
, alors je peux imprimer les valeurs des variables telles que ${Foo_LIBRARIES}
et ${Foo_INCLUDES}
.
Est-il un moyen facile d'afficher ces variables sans avoir à lancer CMake sur un CMakeLists.txt fichier, et sans avoir à inspecter manuellement le fichier de configuration.cmake fichier?
OriginalL'auteur Karnivaurus | 2015-07-10
Vous devez vous connecter pour publier un commentaire.
Vous avez demandé: (1) Est-il un moyen facile d'afficher ces variables sans avoir à lancer cmake sur un CMakeLists.txt fichier, et (2) sans avoir à inspecter manuellement le fichier de configuration.cmake fichier?
Je peux vous donner une réponse oui (2) mais il faut que vous (re)lancer cmake. Mais puisque vous pouvez ré-exécuter votre cmake configurer étape par simplement l'exécution de
cmake .
dans le répertoire de construction, la ré-exécution de cmake ne devrait pas vous empêcher de tenter cette approche. Ma réponse est donnée dans ce DONC réponse et utilise le get_cmake_property de commande. Ici, c'est que le code encapsulé dans une cmake macro,print_all_variables
, donc je peux l'utiliser lors du débogage de mon cmake scripts.Vous venez d'appeler la macro
print_all_variables()
OriginalL'auteur Phil
Ces variables sont généralement codés en dur dans FindFoo.cmake, de sorte qu'il n'est pas possible de les extraire sans l'exécution de la fonction en premier. Notez que, parfois, la valeur de Foo_LIBRARIES dépend de la configuration du système, ce qui est inconnu jusqu'à ce find_package(Foo) est exécuté.
OriginalL'auteur Raul Laasner
Lancer CMake et avoir un regard sur le cache avec
ccmake
. Ensuite, vous aurez toutes les variables.Ou lancer CMake avec
-LH.
ensuite, vous recevrez toutes les variables imprimé après la configuration.Donc je pense qu'il n'est pas possible d'obtenir les variables sans courir de CMake.
ccmake est une interface utilisateur graphique. Vous y trouverez les variables.
OriginalL'auteur usr1234567
Exécuter
cmake
en trouver en mode forfait. Exemple d'affichage d'un paquet include:Exemple pour afficher les bibliothèques:
La
NAME
doit être défini sur le nom du package. Vous pouvez obtenir votreCOMPILER_ID
sur cette page.LANGUAGE
peut êtreC
,CXX
ouFortran
.OriginalL'auteur tamas.kenez