在cmake中从构建目录查找源目录

3
我想创建一个bash助手脚本,可以将生成的文件与其源代码进行diff。输出的目录结构与源代码相匹配,因此如果我有以下数据,就可以找到源文件的名称:
  • 生成文件的名称(将传递给脚本)
  • CMAKE_PROJECT_SOURCE_DIR(我需要找到它)
我的计划是:
  • 沿着目录树向上搜索CMakeCache.txt文件。
  • 找到或者已经找到时运行CMake打印出源代码的路径。
如何做到这一点?最好不要配置/生成(因为那会引入一些延迟)。我应该在构建文件夹中搜索特定的文件吗?哪一个?
1个回答

3

一旦您找到了CMakeCache.txt,您可以按以下方式在其中搜索项目源目录:

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

这会输出_SOURCE_DIR变量的值。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接