【发布时间】:2019-02-03 10:12:02
【问题描述】:
我在现有的 Yocto git 上为我的公司项目创建了一个新层。
在这一层中,我添加了一些基于 autotools 的外部库。
一些应用程序需要链接到这个库,并且应用程序项目都是基于cmake。
使用其中一个库(例如 libcoap)我可以轻松找到一些 FindCoAP.cmake 以添加到我的库配方中。
现在,如果我在 PC 上运行,只需将这个 FindCoAP.cmake 文件放在 cmake 的 ${CMAKE_ROOT}/Modules 目录中,但我应该如何,从 bitbake 配方中(do_install 挂钩),继续让我的Find*.cmake 模块可用于任何人的依赖项目吗?
我应该尝试从这样的系统信息中获取Yocto的cmakeCMAKE_ROOT变量还是更安全可靠的方法?
do_install_append() {
cmake --system-information | grep CMAKE_ROOT | cut -d \" -f2
install -d ${D}/$CMAKE_ROOT}/Modules
install ${S}/FindCoAP.cmake ${D}/$CMAKE_ROOT}/Modules
}
提前致谢。
【问题讨论】:
-
所以您想在 bitbake 运行期间将
foo.cmake安装到主机目录(OpenEmbeeded 目录结构之外)? -
不,我想将它安装到 Yocto sysroot 以便它可以在编译 cmake 应用程序时找到该库。感谢您询问@TomasNovotny。虽然我开始认为拥有
FindFoo.cmake对我没有任何帮助。
标签: cmake yocto autotools bitbake cmake-modules