从cmake中的build目录中查找源目录

时间:2014-11-28 12:33:00

标签: bash scripting cmake

我想创建一个bash帮助器脚本来根据源来区分生成的文件。输出的目录结构与源匹配,因此如果我有这些数据,我应该能够找到源文件的名称:

  • 生成的文件的名称(这将传递给脚本)
  • CMAKE_PROJECT_SOURCE_DIR(我需要找到这个)

我的计划是:

  • 在目录树中搜索CMakeCache.txt文件。
  • 当/如果找到,以某种方式运行CMake 以打印出源路径

我该怎么做?优选地,不必配置/生成(因为这引入了一点延迟)。 我是否应该在构建文件夹中grep特定文件?哪一个?

1 个答案:

答案 0 :(得分:2)

找到CMakeCache.txt之后,您可以通过以下方式grep项目源目录:

cat CMakeCache.txt | grep -E '.*_SOURCE_DIR:STATIC=.*' | grep -E -o '/.*'

这会输出_SOURCE_DIR变量的值。