Mat*_*usz 7 c++ dependencies cmake
我有一个已经在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")
Run Code Online (Sandbox Code Playgroud)
您是否知道如何使'tags'目标从'my_project'目标导入所有依赖项而无需重写所有目录中的所有cmake配置文件?
使用命令get_target_property和属性SOURCES并最终使用PUBLIC_HEADER或PRIVATE_HEADER?
get_target_property(MY_PROJECT_SOURCES my_project SOURCES)
Run Code Online (Sandbox Code Playgroud)