Cmake与bitbake配方

时间:2013-08-22 13:51:19

标签: cmake openembedded bitbake

我正在尝试用自己的包构建一个yocto图像。我在github上使用cmake的OpenCV代码。

我试图为它编写一个配方并面临很多错误。任何人都可以提供一些关于我的食谱中包含哪些功能或参数的提示。我的食谱看起来如下

DESCRIPTION = "cameracapture application" 
SECTION = "examples" 
LICENSE = "CLOSED" 
PR = "r0" 

DEPENDS += "opencv"

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

EXTRA_OECMAKE=""

do_configure() { 
 cmake ../ 
} 

inherit pkgconfig cmake

我按照这些教程用cmake写了我的食谱但是徒劳无功: Bitbake Player recipe

Cmake-Bitbake-QT

3 个答案:

答案 0 :(得分:13)

使用cmake编写自己的食谱的正确方法如下:

DESCRIPTION = "cameracapture application" 
SECTION = "examples" 
LICENSE = "CLOSED" 
PR = "r0" 

DEPENDS = "opencv"

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

S = "${WORKDIR}/git"

inherit pkgconfig cmake

do_install() {
    install -d ${D}${bindir}
    install -m 0755 cameracapture ${D}${bindir}
}

以前我没有添加do_install,这就是yocto下载配方但无法将其包含在Image中的原因。

答案 1 :(得分:11)

如果CMakeLists.txt使用install命令,那么bitbake将为您安装,您不需要定义自己的do_install。

install(TARGETS cameracapture DESTINATION bin)

答案 2 :(得分:2)

在食谱中添加源目录。

示例 S = "${WORKDIR}/cameracapture

S是CMakeList.txt。

的源代码路径

您在配方中继承cmake bbclass的方式,因此它将负责所有配置,编译和安装功能。

执行此操作后,您也可以删除上述配方中的do_configure函数。

你可以将你的make选项添加到下面的宏中(因为你保持为空)。 示例

EXTRA_OECMAKE = "all"