获取源代码列表

cmake obtain source list

本文关键字:列表 源代码 获取      更新时间:2023-10-16

我已经在cmake下建立了一个大项目。我正在寻找一种方法来获取源文件及其依赖的头文件列表,以创建一个新的目标(在Emacs的示例etags中)。我试图自己找到答案,但似乎并不那么容易。

理想的解应该是这样的:

add_executable(my_project <some list of source files and libraries defined in different directories>)
add_custom_target(tags
  COMMAND etags <list of all *.cpp and *.h files used in 'my_project' target>
  DEPENDS <list of all *.cpp and *h used in 'my_project' target>
  COMMENT "Creates source code tags for Emacs")

你可能知道如何使'tags'目标导入所有依赖从'my_project'目标,而不需要重写所有cmake配置文件在所有目录?

命令get_target_property和属性源,最终PUBLIC_HEADER或PRIVATE_HEADER?

get_target_property(MY_PROJECT_SOURCES my_project SOURCES)