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> 產生器表達式。

另請參閱