从 CMake 文件执行 bash 命令

2024-03-01

我无法理解 CMake。我想要做的是在构建过程中执行以下 bash 命令:

date +"%F %T" > timestamp

这会获取当前日期并将其写入文件。但是,我似乎无法使用 CMake 命令重现这个简单的操作。

以下是我尝试过的一些事情:

execute_process(COMMAND "date +'%F %T' > timestamp")

add_custom_command(OUTPUT timestamp COMMAND date +"%F %T")

file(WRITE timestamp date +"%F %T")

两者似乎都不起作用。我几乎想知道他们是否真的被处决了。

我对 CMake 及其语法的了解非常有限,所以我可能做的事情非常错误。我希望有人能指出我正确的方向。谢谢!


我认为我的主要问题是命令参数周围缺少引号。另外,感谢@Mark Setchell,我意识到我应该使用OUTPUT_VARIABLE替代OUTPUT

无论如何,这是我得出的答案:

execute_process (
    COMMAND bash -c "date +'%F %T'"
    OUTPUT_VARIABLE outVar
)

这会将 bash 命令的输出存储到变量中outVar

file(WRITE "datestamp" "${outVar}")

这写了内容outVar到一个名为“datestamp”的文件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 CMake 文件执行 bash 命令 的相关文章

  • 使用 awk 解析日志文件

    我尝试使用以下代码解析日志文件 if line match then awk 2 vFiler echo vFiler 解释 有一些行以这样的模式开头 或 vol 后跟名称 我想找到所有以 或 vol 并将后面的字符串设置为等于变量 但我真
  • 为什么是 ”& ;”无效的语法?

    我正在尝试在终端上运行 for 循环 我希望将每次迭代发送到后台进程 以便所有迭代同时运行 以下是命令一一运行 for i in sra do fastq dump split files i done only 我突出显示了分号 要同时运
  • 如何在 Linux 中重新添加 unicode 字节顺序标记?

    我有一个相当大的 SQL 文件 它以 FFFE 的字节顺序标记开头 我使用 unicode 感知的 linux 分割工具将此文件分割成 100 000 行块 但是当将这些传递回窗口时 它确实not与第一个部分以外的任何部分一样 只是它具有
  • 在 Ubuntu 16.04 上编译 PCL 1.7,CMake 生成的 Makefile 中出现错误

    我正在尝试让 PCL 1 7 点云库 而不是其他 pcl 在 Ubuntu 16 04 上运行 我最终希望用于 C 的东西 但现在我只是想让这些例子工作 我使用的是 Ubuntu GNU 5 3 1 附带的默认编译器和 Cmake 版本 3
  • 在后台使用 HERE_DOC 方法运行脚本

    我有一个应该在后台运行的脚本 我必须在运行 bash 后立即回答一个问题 我该怎么做 nohup python script py lst lt
  • 如何重命名 bash 函数?

    我正在围绕另一个定义 bash 函数的软件包开发一些方便的包装器 我想用我自己的同名函数替换他们的 bash 函数 同时仍然能够从我的函数中运行他们的函数 换句话说 我需要重命名它们的函数 或者为其创建某种持久别名 当我创建同名函数时 该别
  • Bash - 比较 2 个文件列表及其 md5 校验和

    我有 2 个列表 其中包含带有 md5sum 检查的文件 即使文件相同 列表也具有不同的路径 我想检查每个文件的 md5 和 我们正在讨论数千个文件 这就是为什么我需要脚本来仅显示差异 第一个列表是普通列表 第二个列表是文件的当前状态 我想
  • 不要将变量内容视为 sed 中的特殊字符

    我有以下内容sed命令 sed i 4i CHANGES CHANGELOG rst 然而 我的 CHANGES变量看起来像这样 title list elem elem 因此 上述命令失败并出现以下错误 sed e expression
  • Bash 字符串之间的比较 - 相等但不相等

    我只想在 Bash 中的两个字符串之间进行非常简单的比较 stat curl Is url head n 1 echo stat if stat HTTP 1 1 200 OK then echo symbol is OK echo sta
  • Bash:产生当父脚本退出时退出的子进程

    我想在 Bash 中生成多个子进程 但我希望父脚本保持运行 这样发送到父脚本的信号也会影响生成的子进程 这不会这样做 parent bash usr bin bash spawnedChildProcess1 spawnedChildPro
  • 用于获取特定用户 ID 和进程数的 Bash 脚本

    我需要 bash 脚本来计算特定用户或所有用户的进程 我们可以输入 0 1 或更多参数 例如 myScript sh root deamon 应该像这样执行 root 92 deamon 8 2 users has total proces
  • BASH 中的空函数

    我正在使用 FPM 工具创建 deb 包 此工具在从支持的文件中删除包之前 之后创建 不幸的是FPM生成的bash脚本包含这样的函数 dummy 该脚本退出时出现错误 语法错误 意外 BASH 不允许空函数吗 哪个版本的 bash linu
  • 捕获并邮寄 bash 脚本错误

    我有一个脚本 每晚在 cron 中运行 为网络上的多个主机备份一些 postgres 数据库 我有一种方法可以通过利用退出状态来收到脚本失败的警报 但它没有告诉我失败的原因 根据以下代码 我如何捕获脚本运行时发生的任何错误 并将其通过电子邮
  • 使用 CMake 时如何导出 Emscripten 中的 C 函数

    In 本教程 https emscripten org docs porting connecting cpp and javascript Interacting with code html interacting with code
  • 将 bash 提示符下的当前命令复制到剪贴板

    我想要一个快速的键盘命令序列 将 bash 提示符处的当前命令复制到剪贴板 例如 要将最后一个 bash 命令复制到剪贴板 我会按 up some command sequence 复制它 或者 例如 要在 bash 历史记录中搜索命令 我
  • Grep 搜索带有换行符的字符串

    如何使用 grep 输出下面给出的输入文件中出现的字符串 export to excel 具体来说 如何处理搜索字符串之间发生的换行符 grep 中是否有一个开关可以执行此操作或其他命令 输入文件 文件a txt 等等 导出到优秀 巴拉巴拉
  • 从预提交挂钩中排除某些文件类型

    我想要一个预提交 git 钩子来检查 如果可能的话 自动删除 尾随空格 In 让 git 在提交之前自动删除尾随空格 https stackoverflow com questions 591923 make git automatical
  • git log --oneline 提供在管道或重定向到文件时丢失的 HEAD 信息

    当我执行没有管道或文件重定向的 git log oneline 命令时 它会提供有关 HEAD 位置和分支的信息 下面示例中的 master git log oneline color never 8bc8511 HEAD gt day 2
  • 通过 ssh 运行 Bash 脚本

    我正在尝试编写一个 Bash 脚本 它将通过 SSH 连接到计算机并创建一个目录 长期目标有点复杂 但现在我从简单的开始 然而 虽然很简单 但我似乎不太明白 这是我的代码 bin bash ssh T email protected cdn
  • rsync --include 选项不排除其他文件

    尝试rsync某些扩展名 sh 的文件 但下面的bash脚本仍然传输所有文件 为什么 from home xxx rsync zvr include sh from root host home tmp 您需要添加 exclude all

随机推荐

  • 在 [code] 和 [php] 标签内查找 URL [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我的字符串是这样的 string Link 1 code This is a textual line www google com
  • Jackson:忽略父类属性

    有什么方法可以告诉杰克逊在序列化子类时忽略父类的属性吗 class Parent private String parentProperty1 private String parentProperty2 getter setter Ign
  • 如何使用 MVVM 和 MVVM 工具包将属性绑定到文本框?

    我是 MVVM 新手 为了学习 我创建了一个示例应用程序 以便在单击按钮时在文本框中显示消息 在我的代码中 按钮命令工作正常 但该属性未绑定到文本框 如何使用 MVVM 将属性绑定到文本框 我的代码类似于下面给出的 View
  • ASP.NET vNext - 本地化 (.resx)

    如何使用 resx 文件通过 ASP NET vNext 云优化模式 进行本地化以及如何为当前线程设置区域性 System Threading Thread CurrentThread CurrentCulture System Threa
  • 为什么这个函数将RAX压入堆栈作为第一个操作?

    在下面的 C 源代码汇编中 为什么RAX被压入堆栈 据我从 ABI 的了解 RAX 可以包含调用函数中的任何内容 但我们将其保存在这里 然后将堆栈向后移动 8 个字节 所以我认为堆栈上的 RAX 只与std throw bad functi
  • 如何解决“允许的内存大小已耗尽”错误?

    我正在使用 phpspreadsheet 我想修改一个包含 4 张纸的 xlsx 文件 我只想在 2 张表中插入数据 但我想将所有 4 张表复制到新的 xlsx 文件中 当我这样做时 我收到此错误 致命错误 允许的内存大小 53687091
  • 是否有高级 Ag-Grid 事件来侦听列状态的任何更改?

    我将 Ag Grid 与 Angular 一起使用 我想听听any修改列状态的事件 截至目前 我必须列出所有事件 columnVisible onCol event columnMoved onCol event etc 是否有我可以依赖的
  • 在 python 中查询返回本地范围的对象

    下面是返回的程序function函数中定义的类型对象f其堆栈帧 f1 在程序退出之前仍然存在 下面是返回的程序int类型对象 值为1024 但返回后栈帧不存在int类型对象 根据上面两个图 为什么返回类型机制存在这种差异 当您返回时 框架不
  • 如何使用 XSLT 合并两个 xml 文件

    我有两个 xml 文件 需要使用 XSLT 将它们合并为一个 第一个 XML 是 原始 XML
  • 如何计算php中2个unix时间戳之间的间隔而不除以86400(60 * 60 * 24)

    我有 2 个 unix 时间戳 我位于亚太地区 奥克兰时区 GMT 12 夏令时 GMT 13 我想计算两个时间戳之间的天数间隔 其中一个在夏令时内 一个不在夏令时内 我的示例日期是 7 Feb 2009 1233925200 to 21
  • 什么是 Git?我为什么需要它?

    我对编程还很陌生 但我觉得我已经掌握了它的窍门 并且我正在尽力学习 我一直读到 Git 对于编程项目来说绝对至关重要 但我似乎无法弄清楚它实际上是什么does 谷歌也不想告诉我 该网站称其为 分布式版本控制系统 呃 嗯 有人可以向新手解释一
  • 后台工作者 while 循环

    我想要创建的是一个后台工作者 每 30 秒执行几个进程 但我希望只要程序启动就执行这个 while 循环 这是我正在使用的 private void watcherprocess1 backgroundWorker1 RunWorkerAs
  • python 中的 crontab

    我正在用 python 为某种守护进程编写代码 该守护进程必须在由 crontab 字符串定义的特定时间实例执行特定操作 有我可以使用的模块吗 如果没有 有人可以粘贴 链接一个算法 我可以用它来检查 crontab 定义的时间实例是否在上次
  • 相对于 DBUnit 数据集中当前的日期

    我想知道是否有任何方法可以指定例如明天作为 DBUnit XML 数据集中的日期 有时 未来日期和过去日期的代码逻辑是不同的 我想测试这两种情况 当然 我可以指定 2239 年 11 月 5 日之类的日期 并确保测试在此日期之前有效 但是否
  • 当遵守里氏替换原则(LSP)时,子类可以实现额外的接口吗?

    考虑这个红宝石示例 class Animal def walk In our universe all animals walk even whales puts walking end def run Implementing to co
  • 从 mysql 查询创建数组。 Column2 作为键 Column 1 作为值

    我有一张表 其中包含 column 1 state column 2 link Alabama auburn alabama com Alabama bham alabama com Alabama dothan alabama com 我
  • 如何发送带有查询字符串作为查询字符串的 URL

    我正在执行从一个页面到另一个页面的重定向 以及从第二页面到第三页面的另一个重定向 我有来自第一页的信息 该信息未在第二页上使用 但必须转移到第三页 是否可以将第三页的 URL 及其查询字符串作为查询字符串发送到第二页 这是一个例子 Resp
  • Android 进度条未更新

    我在更新进度条时遇到问题 我正在单独的线程中更新进度条 并在另一个线程中更新进度条进度所依赖的变量 这是一个类变量 因此 进度对话框显示但始终为 0 不更新进度 请帮帮我 public void setProgressbar progres
  • 何时在模块方法中使用 self

    我的模块定义如下所示 module RG Stats def self sum a args a inject 0 accum i accum i end end 要使用此方法 我只需要包含此定义的文件 以便我可以执行以下操作 RG Sta
  • 从 CMake 文件执行 bash 命令

    我无法理解 CMake 我想要做的是在构建过程中执行以下 bash 命令 date F T gt timestamp 这会获取当前日期并将其写入文件 但是 我似乎无法使用 CMake 命令重现这个简单的操作 以下是我尝试过的一些事情 exe