yocoto bb文件传自定义变量给cmakelist.txt


在 Yocto 项目中,你可以通过 BitBake .bb 文件传递自定义变量到 CMakeLists.txt。这通常是通过设置 EXTRA_OECMAKE 变量来实现的,该变量允许你向 CMake 命令行添加额外的参数。
以下是如何在 .bb 文件中设置 EXTRA_OECMAKE 并传递一个自定义变量到 CMakeLists.txt 的步骤:
1.在 .bb 文件中,设置 EXTRA_OECMAKE 变量并添加你的自定义变量作为参数:
MY_CUSTOM_VALUE = "SomeValue"
EXTRA_OECMAKE += "-DMY_CUSTOM_VARIABLE=${MY_CUSTOM_VALUE}"
这里 MY_CUSTOM_VARIABLE 是你想要在 CMakeLists.txt 中使用的变量名,而 ${MY_CUSTOM_VALUE} 是你想要传递的值。确保你的值是正确引用的,特别是如果它是一个 BitBake 变量。
2.在 CMakeLists.txt 中,使用 set 命令来检查和使用这个变量:
if(NOT DEFINED MY_CUSTOM_VARIABLE)
    set(MY_CUSTOM_VARIABLE "DefaultValue")
endif()
message(STATUS "MY_CUSTOM_VARIABLE is set to ${MY_CUSTOM_VARIABLE}")
这段 CMake 脚本首先检查 MY_CUSTOM_VARIABLE 是否已经被定义(例如,通过命令行参数传递)。如果没有定义,它将使用一个默认值。然后,它打印出变量的值,以便你可以在 CMake 的配置输出中看到它。
bb+cmake的bb文件demo

# add by cf
# 使用yocto原生cmake编译c app 模板
SUMMARY = "sss"
SECTION = "middleware"
LICENSE = "MIT"
 
#继承cmake类zlog readline termcap
inherit workonsrc cmake deploy
inherit pkgconfig
DEPENDS += "protobuf protobuf-native protobuf-c  gtest"

WORKONSRC = "${TOPDIR}/../meta/meta-bos-bsp/recipes-example/bosdds"
# 指定源码编译目录 
S = "${WORKDIR}"


do_install() {
    # 安装库文件
    install -d ${D}${libdir}/xxx
    install -m 0755 ${S}/lib/*.so ${D}${libdir}/xxx
    install -m 0755 ${S}/thirdparty/*.so ${D}${libdir}/xxx

    # 安装头文件
    install -d ${D}${includedir}/xxxs/c
    install -m 0644 ${S}/inc/c/*.h ${D}${includedir}/xxx/c

    install -d ${D}${includedir}/xxx/cpp
    install -m 0644 ${S}/inc/cpp/*.hpp ${D}${includedir}/xxx/cpp

    install -d ${D}${includedir}/xxx/zlog
    install -m 0644 ${S}/thirdparty/zlog.h ${D}${includedir}/xxx/zlog

    install -d ${D}${includedir}/bosdds/readline
    install -m 0644 ${S}/thirdparty/readline/*.h ${D}${includedir}/xxx/readline
    
    #cfg
    install -d ${D}/usr/etc/zlog
    install -m 0644 ${S}/etc/zlog/zlog_dds.conf ${D}/usr/etc/zlog
}
# EXTRA_OECMAKE_BUILD 添加参数


 
# FILES 表示这个软件包,需要打包进映像的文件是hellocmake,但决定这个软件包是否参与打包,需要在其他地方配置
FILES:${PN} += " ${bindir}/xxx_service \
  /usr/lib64/bosdds/libxxx.so \
  /usr/etc/zlog/xxx.conf \
"

 

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无v邪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值