COMPILE_OPTIONS

傳遞給編譯器的選項列表。

此屬性保存一個以分號分隔的列表,其中包含迄今為止為其目標指定的選項。使用target_compile_options()命令來附加更多選項。這些選項將在CMAKE_<LANG>_FLAGSCMAKE_<LANG>_FLAGS_<CONFIG>變數中的標誌之後添加,但在由INTERFACE_COMPILE_OPTIONS屬性從依賴項傳播的標誌之前添加。

此屬性為目標中的所有語言添加編譯選項。使用COMPILE_LANGUAGE生成器表達式來指定每種語言的編譯選項。

此屬性在創建目標時由COMPILE_OPTIONS目錄屬性初始化,並由生成器用於設定編譯器的選項。

COMPILE_OPTIONS的內容可以使用語法為$<...>的「生成器表達式」。請參閱cmake-generator-expressions(7)手冊以查看可用的表達式。請參閱cmake-buildsystem(7)手冊以瞭解有關定義建置系統屬性的更多資訊。

選項去重

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

版本 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