source_group¶
定义 IDE 项目生成中源文件的分组。有两种不同的签名可用于创建 source groups。
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>)