add_compile_options

為原始碼檔案的編譯新增選項。

add_compile_options(<option> ...)

將選項新增至 COMPILE_OPTIONS 目錄屬性。這些選項在編譯來自目前目錄及以下目標時使用。

注意

這些選項在連結時不會使用。請參閱 add_link_options() 命令以了解更多資訊。

引數

add_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

範例

由於不同的編譯器支援不同的選項,因此此命令的典型用法是在編譯器特定的條件子句中

if (MSVC)
    # warning level 4
    add_compile_options(/W4)
else()
    # additional warnings
    add_compile_options(-Wall -Wextra -Wpedantic)
endif()

若要設定每個語言的選項,請使用 $<COMPILE_LANGUAGE>$<COMPILE_LANGUAGE:languages> 產生器表達式。

參見