【cmake】aux_source_directory

 aux_source_directory

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

试图使用此命令来避免编写库或可执行目标的源文件列表。 尽管这似乎可行,但是CMake无法生成知道何时添加新源文件的生成系统。 通常,生成的构建系统知道何时需要重新运行CMake,因为修改了CMakeLists.txt文件以添加新的源。 当仅将源代码添加到目录而不修改该文件时,将不得不手动重新运行CMake来生成包含新文件的构建系统。

工程目录:

[root@kristopher Demo2]# tree .
.
|-- CMakeLists.txt
|-- main.cc
|-- MathFunctions.cc
`-- MathFunctions.h

0 directories, 4 files

 

 CMakeLists.txt 文件内容如下:

# CMake 最低版本号要求
cmake_minimum_required (VERSION 2.8)

# 项目信息
project (Demo2)

# 查找当前目录下的所有源文件
# 并将名称保存到 DIR_SRCS 变量
aux_source_directory(. DIR_SRCS)

# 指定生成目标
add_executable(Demo ${DIR_SRCS})

 

参考资料

1. aux_source_directory

2. 官方文档

posted @ 2022-04-14 22:41  苏格拉底的落泪  阅读(1027)  评论(0编辑  收藏  举报