2016-04-01 46 views

risposta

16

Nel tuo esempio, non c'è differenza. Ma ci possono essere delle differenze:

  • Option ha un valore predefinito di OFF.
  • Si può fare una scelta dipende da altre opzioni con CMakeDependentOption
  • Set accetta tipi diversi BOOL, in particolare ;-lists.

Inoltre, quando si utilizza un'opzione, si indica all'utente che può essere impostato in modo sicuro. L'impostazione di variabili interne dall'esterno potrebbe interrompere in modo sottile lo script con valori non validi.

+0

Per quanto riguarda il tuo ultimo punto, quando si utilizza 'set', rendendo la variabile un booleano non impedisce all'utente di dargli un diverso tipo di valore, ad es. nella riga di comando? Ad ogni modo, trovo il tuo secondo punto piuttosto pertinente. – Antonio

+0

Francamente, non ci ho mai provato. Ma penso di ricordare che la GUI di CMake regola il suo metodo di input a seconda del tipo di variabile. – usr1234567

+1

Che posso confermare (per una variabile booleana ti dà una casella di spunta) – Antonio