Articles

cmake(1)¶

Options¶

-S <path-to-source>

Chemin d’accès au répertoire racine du projet CMake à construire.

-B <path-to-build>

Chemin d’accès au répertoire que CMake utilisera comme racine du répertoire de construction.

Si le répertoire n’existe pas déjà, CMake le fera.

-C <initial-cache>

Préchargez un script pour remplir le cache.

Lorsque CMake est exécuté pour la première fois dans une arborescence de construction vide, il crée un fichier CMakeCache.txt et le remplit avec des paramètres personnalisables pour le projet. Cette option peut être utilisée pour spécifier un fichier à partir duquel charger des entrées de cache avant le premier passage dans les fichiers de liste de fabrication du projet. Les entrées chargées ont priorité sur les valeurs par défaut du projet. Le fichier donné doit être un script CMake contenant des commandes set() qui utilisent l’option CACHE, pas un fichier au format acache.

Les références à CMAKE_SOURCE_DIR et CMAKE_BINARY_DIR dans le script évaluent la source de niveau supérieur et l’arborescence de construction.

-D <var>:<type>=<value>, -D <var>=<value>

Créez ou mettez à jour une entrée CMake CACHE.

Lorsque CMake est exécuté pour la première fois dans une arborescence de construction vide, il crée un fichier CMakeCache.txt et le remplit avec des paramètres personnalisables pour le projet. Cette option peut être utilisée pour spécifier un paramètre quiprend la priorité sur la valeur par défaut du projet. L’option peut être utilisée pour autant d’entrées CACHE que vous le souhaitez.

Si la partie :<type> est donnée, elle doit être l’un des types spécifiés par la documentation de la commande set() pour sa signature CACHE.Si la partie :<type> est omise, l’entrée sera créée sans type si elle n’existe pas déjà avec un type. Si acommand dans le projet définit le type sur PATH ou FILEPATH alors le <value> sera converti en un chemin absolu.

Cette option peut également être donnée en un seul argument:-D<var>:<type>=<value> ou -D<var>=<value>.

-U <globbing_expr>

Supprime les entrées correspondantes de CMake CACHE.

Cette option peut être utilisée pour supprimer une ou plusieurs variables du fichier CMakeCache.txt, en globalisant les expressions utilisant * et ? sont prises en charge. L’option peut être répétée pour autant d’entrées CACHE que désirées.

Utilisez avec précaution, vous pouvez rendre votre CMakeCache.txt non fonctionnel.

-G <generator-name>

Spécifiez un générateur de système de construction.

CMake peut prendre en charge plusieurs systèmes de génération natifs sur certainplatforms. Un générateur est responsable de la génération d’un particulerystème de construction. Les noms de générateurs possibles sont spécifiés dans le manuel cmake-generators(7).

S’il n’est pas spécifié, CMake vérifie l’environnement variable CMAKE_GENERATOR et revient sinon à une sélection par défaut intégrée.

-T <toolset-spec>

Spécification du jeu d’outils pour le générateur, si pris en charge.

Certains générateurs CMake prennent en charge une spécification de jeu d’outils pour indiquer au système de construction natif comment choisir un compilateur. Voir la variable CMAKE_GENERATOR_TOOLSET pour plus de détails.

-A <platform-name>

Spécifiez le nom de la plate-forme si elle est prise en charge par le générateur.

Certains générateurs CMake prennent en charge un nom de plate-forme à donner au système de construction initial pour choisir un compilateur ou un SDK. Voir la variable CMAKE_GENERATOR_PLATFORM pour plus de détails.

-Wno-dev

Supprime les avertissements des développeurs.

Supprime les avertissements destinés à l’auteur des fichiers CMakeLists.txt. Par défaut, cela désactivera également les avertissements de déprécation.

-Wdev

Activer les avertissements du développeur.

Activez les avertissements destinés à l’auteur des fichiers CMakeLists.txt. Par défaut, cela activera également les avertissements de dépréciation.

-Werror=dev

Faites des erreurs d’avertissement du développeur.

Créez des avertissements destinés à l’auteur des erreurs de fichiers CMakeLists.txt. Par défaut, cela activera également les avertissements obsolètes en tant qu’erreurs.

-Wno-error=dev

Faites des avertissements de développeur et non des erreurs.

Faites des avertissements destinés à l’auteur des fichiers noterrors CMakeLists.txt. Par défaut, cela désactivera également les avertissements obsolètes en tant qu’erreurs.

-Wdeprecated

Activer les avertissements de fonctionnalités obsolètes.

Activez les avertissements pour l’utilisation de fonctionnalités obsolètes, destinés à l’auteur des fichiers CMakeLists.txt.

-Wno-deprecated

Supprime les avertissements de fonctionnalité obsolètes.

Supprime les avertissements pour l’utilisation de fonctionnalités obsolètes, destinés à l’auteur des fichiers CMakeLists.txt.

-Werror=deprecated

Créez des erreurs d’avertissement de macro et de fonction obsolètes.

Faites des avertissements pour l’utilisation de macros et de fonctions obsolètes, destinées à l’auteur des fichiers CMakeLists.txt, erreurs.

-Wno-error=deprecated

Faites des avertissements de macro et de fonction obsolètes et non des erreurs.

Faites des avertissements pour l’utilisation de macros et de fonctions obsolètes, destinées à l’auteur des fichiers CMakeLists.txt, et non des erreurs.

-L

Liste les variables mises en cache non avancées.

List CACHEles variables exécuteront CMake et listeront toutes les variables du CMake CACHE qui ne sont pas marquées comme INTERNAL ou ADVANCED.Cela affichera efficacement les paramètres CMake actuels, qui peuvent ensuite être changés avec l’option -D. La modification de certaines variables peut entraîner la création de plus de variables. Si A est spécifié, il affichera également les variables avancées. Si H est spécifié, il affichera également de l’aide pour chaque variable.

-N

Mode d’affichage uniquement.

Ne chargez que le cache. N’exécutez pas réellement configure et generatesteps.

--graphviz=

Générer des graphviz de dépendances, voir CMakeGraphVizOptions pour plus d’informations.

Génère un fichier d’entrée graphviz qui contiendra toutes les dépendances et bibliothèques exécutables du projet. Voir la documentation de CMakeGraphVizOptions pour plus de détails.

--system-information

Videz les informations sur ce système.

Videz un large éventail d’informations sur le système actuel. S’il est exécuté en haut d’une arborescence binaire pour un projet CMake, il déposera des informations supplémentaires telles que le cache, les fichiers journaux, etc.

--log-level=<ERROR|WARNING|NOTICE|STATUS|VERBOSE|DEBUG|TRACE>

Définissez le niveau du journal.

La commande message() ne produira que des messages du niveau spécifié ou supérieur. Le niveau de journal par défaut est STATUS.

Pour qu’un niveau de journal persiste entre les exécutions de CMake, définissez à la place CMAKE_MESSAGE_LOG_LEVEL comme variable de cache.Si l’option de ligne de commande et la variable sont données, la commande lineoption a priorité.

Pour des raisons de compatibilité ascendante, --loglevel est également accepté comme asynonyme pour cette option.

--log-context

Activez le contexte de sortie de commande message() attaché à chaque message.

Cette option active l’affichage du contexte pour l’exécution CMake en cours only.To rendez l’affichage du contexte persistant pour toutes les exécutions CMake suivantes, définissez CMAKE_MESSAGE_CONTEXT_SHOW comme variable de cache à la place.Lorsque cette option de ligne de commande est donnée, CMAKE_MESSAGE_CONTEXT_SHOW est ignorée.

--debug-trycompile

Ne supprimez pas l’arbre de construction try_compile().Utile uniquement sur un try_compile() à la fois.

Ne supprimez pas les fichiers et répertoires créés pour les appels try_compile(). Ceci est utile lors du débogage de try_compiles ayant échoué. Cela peut cependant changer les résultats des compilations try, car les anciens fichiers indésirables d’une compilation try précédente peuvent entraîner un test différent à passer ou à échouer incorrectement. Cette option est mieux utilisée pour une compilation d’essai à la fois, et uniquement lors du débogage.

--debug-output

Mettez cmake en mode débogage.

Affiche des informations supplémentaires pendant l’exécution de cmake comme des traces de pile avec des appels message(SEND_ERROR).

--debug-find

Mettez les commandes cmake find en mode débogage.

Affiche des informations supplémentaires sur les appels de recherche pendant l’exécution de cmake vers standarderror. La production est conçue pour la consommation humaine et non pour l’analyse.Voir aussi la variable CMAKE_FIND_DEBUG_MODE pour déboguer une partie plus locale du projet.

--trace

Mettez cmake en mode trace.

Affiche une trace de tous les appels effectués et d’où.

--trace-expand

Mettez cmake en mode trace.

Comme --trace, mais avec des variables étendues.

--trace-format=<format>

Mettez cmake en mode trace et définissez le format de sortie de trace.

<format> peut être l’une des valeurs suivantes.

human

Imprime chaque ligne de trace dans un format lisible par l’homme. C’est le format par défaut.

json-v1

Imprime chaque ligne comme un document JSON séparé. Chaque document est séparé par une nouvelle ligne (\n). Il est garanti que des caractères non linéaires seront présents dans un document JSON.

Format de trace JSON:

{ "file": "/full/path/to/the/CMake/file.txt", "line": 0, "cmd": "add_executable", "args": , "time": 1579512535.9687231, "frame": 2}

Les membres sont:

file

Le chemin complet vers le fichier source CMake où la fonction a été appelée.

line

La ligne file de l’appel de fonction.

defer

Membre optionnel présent lorsque l’appel de fonction a été différé par cmake_language(DEFER). Si elle est présente, sa valeur est astring contenant l’appel différé <id>.

cmd

Le nom de la fonction qui a été appelée.

args

Une liste de chaînes de tous les paramètres de fonction.

time

Horodatage (secondes depuis l’époque) de l’appel de fonction.

frame

Profondeur de trame de pile de la fonction appelée.

De plus, le premier document JSON produit contient la clé version pour la version majeure et mineure actuelle du format de trace JSON

:

{ "version": { "major": 1, "minor": 1 }}

Les membres sont :

version

Indique la version du format JSON. La version a des composants importants et mineurs suivant les conventions de version sémantiques.

--trace-source=<file>

Mettez cmake en mode trace, mais n’affichez que les lignes d’un fichier spécifié.

Plusieurs options sont autorisées.

--trace-redirect=<file>

Mettez cmake en mode trace et redirigez la sortie de trace vers un fichier au lieu de stderr.

--warn-uninitialized

Avertit des valeurs non initialisées.

Affiche un avertissement lorsqu’une variable non initialisée est utilisée.

--warn-unused-vars

Ne fait rien. Dans les versions 3.2 et inférieures de CMake, cela activait les avertissements surles variables non utilisées. Dans les versions 3.3 à 3.18 de CMake, l’option était broken.In CMake 3.19 et supérieur l’option a été supprimée.

--no-warn-unused-cli

Ne pas avertir des options de ligne de commande.

Ne trouve pas les variables déclarées sur la ligne de commande, mais non utilisées.

--check-system-vars

Trouvez des problèmes d’utilisation des variables dans les fichiers système.

Normalement, les variables inutilisées et non initialisées sont recherchées uniquement dans CMAKE_SOURCE_DIR et CMAKE_BINARY_DIR.Cet indicateur indique à CMake d’avertir également des autres fichiers.

--profiling-output=<path>

Utilisé en conjonction avec --profiling-format pour sortir sur un chemin donné.

--profiling-format=<file>

Activer la sortie des données de profilage du script CMake dans le format donné.

Cela peut faciliter l’analyse des performances des scripts CMake exécutés. Les applications tierces doivent être utilisées pour traiter la sortie dans un format lisible par l’homme.

Les valeurs actuellement prises en charge sont les suivantes: google-trace Sorties au format Trace Google, qui peuvent être analysées par l’onglet à propos: traçage de Google Chrome ou à l’aide d’un plugin pour un outil comme TraceCompass.

--preset <preset>--preset=<preset>

Lit un preset de <path-to-source>/CMakePresets.json et <path-to-source>/CMakeUserPresets.json. Le préréglage spécifie le générateur et le répertoire de construction, et éventuellement une liste de variables et d’autres arguments à transmettre à CMake. Le répertoire de travail actuel doit contenirfaire des fichiers prédéfinis. Le CMake GUI peut également reconnaître les fichiers CMakePresets.json et CMakeUserPresets.json. Pour plus de détails sur ces fichiers, voir cmake-presets(7).

Les préréglages sont lus avant toutes les autres options de ligne de commande. Les options spécifiées par le préréglage (variables, générateur, etc.) peuvent tous être remplacés en les spécifiant manuellement sur la ligne de commande. Par exemple, si la variable setsa prédéfinie appelle MYVAR1, mais que l’utilisateur la définit sur 2 avec un argument -D, la valeur 2 est préféré.

--list-presets, --list-presets=<>

Liste les préréglages disponibles. Si aucune option n’est spécifiée, configurez uniquement les paramètres prédéfinis seront répertoriés. Le répertoire de travail actuel doit contenir des fichiers prédéfinis CMake.