CMakeDependentOption¶
提供依賴於其他選項的選項的巨集。
此巨集僅在滿足一組其他條件時,才會向使用者呈現選項。
- cmake_dependent_option¶
cmake_dependent_option(<option> "<help_text>" <value> <depends> <force>)
如果
<depends>
中以分號分隔的清單的所有條件都為真,則使<option>
對使用者可用。否則,名為<option>
的局部變數會被設定為<force>
。當
<option>
可用時,將使用給定的<help_text>
和初始<value>
。否則,使用者設定的任何值都會被保留,以便在未來滿足<depends>
時使用。請注意,
<option>
變數只有在呼叫者的作用域內滿足<depends>
條件時才有值,因為它是一個局部變數。
範例呼叫
cmake_dependent_option(USE_FOO "Use Foo" ON "USE_BAR;NOT USE_ZOT" OFF)
如果 USE_BAR
為真且 USE_ZOT
為假,則會提供一個名為 USE_FOO
的選項,預設值為 ON。否則,它會將 USE_FOO
設定為 OFF 並對使用者隱藏該選項。如果 USE_BAR
或 USE_ZOT
的狀態發生變化,則會儲存 USE_FOO
選項的任何值,以便在重新啟用該選項時保留其舊值。