Y a-t-il une différence entre les deux suivants?
set(FOO true CACHE BOOL "description")
option(FOO "description" ON)
Contexte: même si j'utilise CMake depuis un certain temps, je n'ai remarqué que la commande option
aujourd'hui et j'ai donc toujours utilisé set
: je me demandais s'il est sûr/utile de remplacer le premier avec le second.
Dans votre exemple, il n'y a aucune différence. Mais il peut y avoir des différences:
Option
a une valeur par défaut de OFF
.CMakeDependentOption
Set
accepte des types autres que BOOL
, en particulier ; - listes .De plus, lorsque vous utilisez une option, vous indiquez à votre utilisateur qu'elle peut être définie en toute sécurité. La définition de variables internes de l'extérieur peut subtilement casser le script avec des valeurs non valides.