在 bitbake 任务中更改配方变量(例如 EXTRA_OECMAKE)

问题描述 投票:0回答:1

目前,我面临一个奇怪的要求,我们必须将 2 个略有不同的二进制文件放入 rootfs 中,而唯一的区别是我们为其中一个设置了额外的 CMake 选项。

因此,我们采取的方法是创建一些要运行的额外任务,并按正确的顺序添加它们(在复制第一个二进制文件之后)。一切正常(重命名、有 2 个垃圾箱等)。

主要问题是,在此自定义

EXTRA_OECMAKE
任务期间我们无法更改
do_configure
。我认为这被阻止确实有一定道理...我们实际上可以使用
d.setVar()
更改它,尽管这是在整个配方开始之前解析的,所以我们仍然得到2个相同的。

有什么好的方法最终不会是:

  1. 创建一个新配方,复制大部分数据(或概括
    .inc
    文件中的大部分数据)
  2. 将整个
    cmake_do_configure
    cmake.bbclass
    中复制出来,只是为了在运行时强制使用额外的变量
    cmake

让我们知道 1) 或 2) 是否是最好的选择:)

我们目前在柯克斯通。

yocto bitbake openembedded
1个回答
0
投票

(1) 是您不与系统对抗的最佳解决方案。最简单的解决方案是一个 .inc 文件,它是配方的 99%,然后只需在每个 Recipe-foo.bb 和 Recipe-bar.bb 文件中设置相关选项即可。

© www.soinside.com 2019 - 2024. All rights reserved.