web-dev-qa-db-fra.com

Ajouter des options de ligne de commande à CMake

Je construis une grande bibliothèque en utilisant CMake et j'aimerais que les utilisateurs puissent activer/désactiver de manière sélective certaines parties de mon processus de construction.

Comment puis-je ajouter des options de ligne de commande à ma version de CMake, par exemple afin que les utilisateurs puissent taper quelque chose comme cmake --build-partone --nobuild-parttwo --dothis=true --dothat=false ..?

Apparemment, le mot-clé OPTION créera des variables qui peuvent être définies à partir de l'interface graphique de CMake, mais je ne vois pas comment faire cela à partir de la ligne de commande.

101
rcv

Oui, vous devriez utiliser la commande option. Vous pouvez définir les options à partir de la ligne de commande de cette façon:

//CMakeLists.txt
option(MyOption "MyOption" OFF)

//Command line
cmake -DMyOption=ON MyProjectFolder

Notez que -DMyOption doit venir avant le chemin.

147
beduin

Juste une petite correction:

Si vous avez d’autres variables à transmettre, il est recommandé d’en indiquer le type:

//CMakeLists.txt
option(MyOption "MyOption" OFF)

//Command line
cmake -DMyOption:BOOL=ON MyProjectFolder -D...
9
guilloptero