aux_source_directory

查找目录中所有源文件。

aux_source_directory(<dir> <variable>)

收集指定目录中所有源文件的名称,并将列表存储在所提供的 <variable> 中。该命令旨在供使用显式模板实例化的项目使用。可以将模板实例化文件存储在 Templates 子目录中,并使用此命令自动收集,以避免手动列出所有实例化。

使用此命令来避免编写库或可执行目标的源文件列表很诱人。虽然这看起来可行,但 CMake 无法生成一个构建系统,该系统知道何时添加了新的源文件。通常,当修改 CMakeLists.txt 文件来添加新的源时,生成的构建系统会知道它何时需要重新运行 CMake。当仅将源代码添加到目录而不修改此文件时,需要手动重新运行 CMake 以生成包含新文件的构建系统。