source_group

為 IDE 專案產生中的原始碼檔案定義分組。 有兩種不同的簽名來建立原始碼群組。

source_group(<name> [FILES <src>...] [REGULAR_EXPRESSION <regex>])
source_group(TREE <root> [PREFIX <prefix>] [FILES <src>...])

定義一個群組,原始碼將放置在專案檔案中。 這旨在設定 Visual Studio 中的檔案索引標籤。 該群組的作用範圍在呼叫命令的目錄中,並適用於在該目錄中建立的目標中的原始碼。

選項如下

TREE

在版本 3.8 中新增。

CMake 將從 <src> 檔案路徑自動偵測它需要建立的原始碼群組,以保持原始碼群組的結構與專案中實際檔案和目錄結構類似。 <src> 檔案的路徑將被截斷為相對於 <root>。如果 src 內的路徑不是以 root 開頭,則命令會失敗。

PREFIX

在版本 3.8 中新增。

位於 <root> 路徑中且直接位於其中的原始碼群組和檔案將放置在 <prefix> 原始碼群組中。

FILES

任何明確指定的原始碼檔案都將放置在 <name> 群組中。 相對路徑是相對於目前原始碼目錄解釋的。

REGULAR_EXPRESSION

名稱與正規表示式相符的任何原始碼檔案都將放置在 <name> 群組中。

如果一個原始碼檔案符合多個群組,則會優先選擇最後一個使用 FILES 明確列出檔案的群組(如果有的話)。 如果沒有群組明確列出該檔案,則會優先選擇最後一個與該檔案相符的正規表示式的群組。

群組的 <name><prefix> 引數可以包含正斜線或反斜線以指定子群組。 反斜線需要適當逸出。

source_group(base/subdir ...)
source_group(outer\\inner ...)
source_group(TREE <root> PREFIX sources\\inc ...)

在版本 3.18 中新增:允許使用正斜線 (/) 來指定子群組。

為了向後相容性,簡短的簽名

source_group(<name> <regex>)

等同於

source_group(<name> REGULAR_EXPRESSION <regex>)