2010-08-17 4 views
3

J'utilise CMake pour gérer une collection d'une collection de projets sous Linux, pas un seul projet mais le principe est le même. Chaque projet possède sa propre collection d'options, par exemple des commutateurs DEVEL et du code personnalisé à inclure. Ceux-ci sont ajoutés de façon standard CMake:Création de groupes d'options CMake

OPTION(NAME "Helpstring" VALUE) 

Je cherche un moyen de regrouper ces options en fonction de quel projet ils appartiennent actuellement comme ils sont placés par ordre alphabétique et pourrait être assez déroutant. Cela me permettrait également de ne pas avoir de noms uniques pour chaque option, par exemple une option DEVEL pourrait s'appliquer à tous les projets, mais je ne souhaiterais que l'activer pour certains. Je ne veux pas écrire par ex. PROJECTNAME_DEVEL options.

Idéalement, je voudrais qu'un système divise les options en fonction du projet, par ex.

PROJECT1NAME: 
    DEVEL: ON 
PROJECT2NAME: 
    DEVEL: OFF 
    ANOTHER_OPTION: ON 

Puis-je faire cela d'une manière ou d'une autre? Je vise principalement cela à l'interface ncurses pour cmake, je vois que l'interface Qt peut regrouper des entrées, est-ce possible dans l'interface ncurses?

Vive

+0

Je suis à peu près sûr que le regroupement du Qt cmake gui est basé sur les propriétés ayant un nom similaire (PROJECTNAME_OPT). – RobertJMaynard

+1

D'après mon expérience, cmake gui ne fait que grouper les options qui commencent par le même préfixe et un trait de soulignement. – LiMuBei

Répondre

3

Les deux commentateurs sont corrects ici: le programme cmake-groupes IUG (l'interface utilisateur graphique basée sur Qt) options ensemble basé sur le préfixe de premier plan au premier caractère de soulignement.

Le programme ccmake (le "gui" basé sur ncurses) n'a pas encore la même capacité de regroupement.