【问题标题】:How to package CMake Module in NativeSDK?如何在 NativeSDK 中打包 CMake 模块?
【发布时间】:2018-01-16 23:07:34
【问题描述】:

我正在尝试在 Yocto 构建中的 /usr/share/cmake-3.4/Modules/MYMODULES/useful.cmake 下安装一组 CMake 实用程序函数。

这是我目前(已消毒)的食谱(称之为my-useful-modules.bb

SECTION = "devel"
LICENSE = "CLOSED"

inherit cmake

EXTERNALSRC := "path/to/source/code"

do_compile() {
     :
}

FILES_${PN} += "${datadir}/cmake-3.4/Modules/MYMODULES/*"
BBCLASSEXTEND = "nativesdk"

配置和安装任务工作正常,如果我在tmp/work/... 中查看image,我会看到完整的树(包括我预期的所有主机目录)。

但我不断收到以下错误

错误:nativesdk-my-useful-modules-1.0-r0 do_package:QA 问题: nativesdk-my-useful-modules:文件/目录已安装但未安装 以任何包装运送:

后面是一长串文件,基本上包括image 下的所有内容。

这些模块需要在构建期间在本机 sysroot 中以及在使用 populate_sdk 构建的标准 SDK 中都可用。

我应该用FILES_${PN} 指定哪个包来打包它们?

如果我知道如何避免在 FILES 语句中指定 cmake 版本,或者从构建系统中获取它,我也将不胜感激。

【问题讨论】:

    标签: yocto openembedded


    【解决方案1】:

    更新 FILES_${PN} 将解决您的错误,并且在这种情况下无需提供 cmake 版本。

    FILES_${PN} += "${datadir}/*"
    

    【讨论】:

    • 不 - 已经试过了与 SDKMACHINE 和 HOSTMACHINE 不同有关。我也试过"${D}${libdir}/"
    • 您是否在 ${D}/${libdir} 中检查了有用的 cmake 是否已正确安装?
    • 是的。正如我在tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-my-useful-modules/1.0-r0 的图像目录下所说的,我看到了/home/kdopen/build/build//tmp/sysroots/x86_64-linux/usr/share/cmake-3.4/Modules/MYMODULES/useful.cmake
    • 对不起,我的意思是我也试过"${D}${datadir}/*",而不是"${D}{libdir}"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-15
    • 2020-06-22
    • 1970-01-01
    • 2021-08-02
    相关资源
    最近更新 更多