Yocto Bitbake 配方中的“S”变量是什么?何时需要设置它?

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

我刚刚添加了一个新的 Bitbake 配方来包装我的 CMake git 存储库,该配方也在开发中。但我收到一条错误消息,说找不到

CMakeLists.txt
文件。我可以确认最新的 git repo/branch 正在被克隆,并且它有
CMakeLists.txt
文件,所以我不知道该怎么做。我正在使用 Dunfell Yocto。

我查看了一些其他 CMake 示例食谱。有人建议将这一行

S
添加到食谱中:

SRC_URI = "git://github.com/zafrullahsyed/cameracapture.git;protocol=https;tag=v0.1"

S = "${WORKDIR}/git"

inherit pkgconfig cmake

这个

S
变量有什么作用?那么一般什么时候需要设置呢?

git cmake yocto bitbake
1个回答
0
投票

如 Yocto 项目参考手册 v3.1.28 中所述,变量 ${S} 为:

构建目录中解压后的配方源代码所在的位置。默认情况下,此目录为 ${WORKDIR}/${BPN}-${PV},其中 ${BPN} 是基本配方名称,${PV} 是配方版本。如果源 tarball 将代码提取到名称不是 ${BPN}-${PV} 的目录,或者如果源代码是从 SCM(例如 Git 或 Subversion)获取的,则必须在配方中设置 S,以便OpenEmbedded 构建系统知道在哪里可以找到解压的源代码。

以下是术语表条目的链接: 参考变量:术语 S

我认为这里的经验法则是,每当

SRC_URI
设置为 git 存储库时,您都必须设置

S = "${WORKDIR}/git"
© www.soinside.com 2019 - 2024. All rights reserved.