【cmake】aux_source_directory

正文

 aux_source_directory

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

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

工程目录:

1
2
3
4
5
6
7
8
[root@kristopher Demo2]# tree .
.
|-- CMakeLists.txt
|-- main.cc
|-- MathFunctions.cc
`-- MathFunctions.h
 
0 directories, 4 files

 

 CMakeLists.txt 文件内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
# 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 @   苏格拉底的落泪  阅读(1265)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示