bash - 从cmake中的构建目录中查找源目录

标签 bash scripting cmake

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

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

我的计划是:

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

我该怎么做?最好不必配置/生成(因为这会引入一些延迟)。 我应该改为 grep 构建文件夹中的特定文件吗?哪个?

最佳答案

一旦找到 CMakeCache.txt,您可以通过以下方式在其中 grep 查找项目源目录:

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

这会输出 _SOURCE_DIR 的值变量。

关于bash - 从cmake中的构建目录中查找源目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27188786/

相关文章:

linux - 如何打印特定模式下表中的总行数?

scripting - WinSCP 以自动化模式向服务器进行身份验证,使用公钥身份验证

c++ - 如何在没有 Python 调试库的情况下在 Debug模式下使用 Cmake/Visual Studio 构建 OpenCV

c - shell命令如何执行

linux - awk:仅在特定字段中查找和替换

ruby - 是否可以从 ruby​​ 脚本返回值并在 c 或 shell 脚本中读取该值?

recursion - 连续两次相同的 echo 调用在 Vim 函数中具有不同的输出

elasticsearch - 如何在Elasticsearch中使用Groovy脚本评分拒绝文档

linux - cmake 找不到 Qt5

c++ - 从 qmake 迁移到 cmake