【发布时间】:2019-02-01 09:04:19
【问题描述】:
我有一个包含许多源文件和头文件的项目。我可以将每个包含头文件的目录添加到 CMake 的包含目录中,以便通过 -I 选项将它们传递给每个源文件的编译。
include_directories(I/will/need/tons/of/these);
有什么方法可以通过 CMake 仅将相关的包含目录传递给每个源文件的编译?
例如,如果我自己在命令行上写这个,我会使用这样的脚本:
g++ -I $(./get_include_dirs.sh foo.cpp) -o foo.o foo.cpp
其中 $(./get_include_dirs.sh foo.cpp) 是一个脚本,它被扩展为仅包含 foo.cpp 的目录
这可以在 CMake 上完成吗?我不知道如何告诉 cmake 为每个文件使用该脚本
【问题讨论】:
-
您可以从 CMAKE 执行脚本并将输出保存到变量中。
标签: c++ command-line cmake g++ include-path