STATIC_LIBRARY_OPTIONS

版本 3.13 新增。

靜態函式庫目標的封存工具(或 MSVC 程式庫管理員)旗標。共享函式庫、模組或執行檔目標需要使用 LINK_OPTIONS 目標屬性。

此屬性保存到目前為止為其目標指定的選項的 分號分隔列表。使用 set_target_properties()set_property() 命令來設定其內容。

STATIC_LIBRARY_OPTIONS 的內容可以使用帶有語法 $<...> 的「產生器表達式」。請參閱 cmake-generator-expressions(7) 手冊以取得可用的表達式。請參閱 cmake-buildsystem(7) 手冊以取得更多關於定義建置系統屬性的資訊。

注意

此屬性必須優先於 STATIC_LIBRARY_FLAGS 屬性使用。

選項去重複

用於目標的最終選項集是透過累積來自當前目標及其依賴項的使用需求的選項來建構的。選項集會被去重複以避免重複。

版本 3.12 新增:雖然對個別選項有利,但去重複步驟可能會破壞選項群組。例如,-option A -option B 變成 -option A B。可以使用類似 shell 的引號以及 SHELL: 前綴來指定選項群組。SHELL: 前綴會被移除,而選項字串的其餘部分會使用 separate_arguments() UNIX_COMMAND 模式進行解析。例如,"SHELL:-option A" "SHELL:-option B" 變成 -option A -option B

處理封存工具驅動程式差異

版本 4.0 新增。

為了將選項傳遞給封存工具,每個編譯器驅動程式都有其自己的語法。ARCHIVER: 前綴和 , 分隔符號可以用於以可移植的方式指定要傳遞給封存工具的選項。ARCHIVER: 會被替換為適當的驅動程式選項,而 , 會被替換為適當的驅動程式分隔符號。驅動程式前綴和驅動程式分隔符號由 CMAKE_<LANG>_ARCHIVER_WRAPPER_FLAGCMAKE_<LANG>_ARCHIVER_WRAPPER_FLAG_SEP 變數的值給出。

ARCHIVER: 前綴可以指定為 SHELL: 前綴表達式的一部分。

ARCHIVER: 前綴支援使用 SHELL: 前綴和空格作為分隔符號來指定參數的替代語法。

注意

ARCHIVER: 前綴開頭以外的任何地方指定 SHELL: 前綴是不支援的。