我刚刚添加了一个新的 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
变量有什么作用?那么一般什么时候需要设置呢?
如 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"