2014-06-06 1 views
1

Je crée un projet (appelons-le myProject) qui comprend des macros et CMakefiles définies dans un autre projet (appelons-le otherProject). Bien sûr, myProject dépend des bibliothèques créées et compilées dans otherProject.CMake - Suppression d'une option dans l'interface graphique définie dans un autre fichier CMake

otherProject a une option pour définir la compilation des bibliothèques dynamiques ou statiques en utilisant la commande option standard:

option(USE_STATIC_LIBRARIES "Build static libraries?" OFF) 

Dans myProject, je veux forcer cette option à ON tous les temps et supprimez-le de l'interface graphique afin que les utilisateurs ne seront pas en mesure de le changer; SANS avoir à modifier le CMakefile d'origine. Ce que je l'ai fait est à ce jour la force la valeur à ON en utilisant les éléments suivants:

set(USE_STATIC_LIBRARIES ON FORCE) 
include(otherProjectCmakefile) 

Cela fonctionne comme prévu, forçant la valeur à ON, mais l'option apparaît toujours dans l'interface graphique (action de l'utilisateur cependant, il est ignoré et, en interne, la valeur est toujours ON).

Ma question est, comment puis-je supprimer complètement l'option de l'interface graphique, ne pas l'afficher du tout. Je veux éviter toute confusion possible.

Répondre

0

Vous pouvez commencer à lire à partir

cmake --help-command SET 

et vous serez probablement intéressé par cette option pour SET

INTERNAL = No GUI entry (used for persistent variables). 
+0

Désolé pour la longue période de réponse, mais était sur un long week-end ... C'est ce que j'ai fait! Le drapeau "INTERNE" fait exactement ce qu'il faut. Merci! – LarrxX