如何访问CMake中的bitbake配置文件变量?

如何访问CMake中的bitbake配置文件变量?,cmake,yocto,bitbake,Cmake,Yocto,Bitbake,我想在cpp源文件中使用bitbake local.conf文件中定义的变量作为预处理器变量。首先,我尝试用CMake消息打印它,但变量总是空的。它也不在CMake的环境变量中 可以使用TARGET\u cxflags=+“-DSW\u VERSION=${SW\u VERSION}”传递变量,但如果可能,我希望避免编辑receipe文件 例如,假设我想在local.conf文件中打印SW\u VERSION变量 SW_VERSION="1.0.0-56" CMakeLists.txt: me

我想在cpp源文件中使用bitbake local.conf文件中定义的变量作为预处理器变量。首先,我尝试用CMake消息打印它,但变量总是空的。它也不在CMake的环境变量中

可以使用
TARGET\u cxflags=+“-DSW\u VERSION=${SW\u VERSION}”
传递变量,但如果可能,我希望避免编辑receipe文件

例如,假设我想在
local.conf
文件中打印
SW\u VERSION
变量

SW_VERSION="1.0.0-56"
CMakeLists.txt:

message(STATUS "SW_VERSION:  "$ENV{SW_VERSION})
message(STATUS "SW_VERSION:  "${SW_VERSION})
我使用-v选项运行bitbake来打印cmake消息


如何将变量从bitbake conf文件传递到CMake?

为什么要避免编辑配方?您可以添加.bbappend并传递目标标志。此外,您还可以在poky/meta/conf/bitbake.conf中添加全局编译器选项,但从您的配方(或bbappend)传递它会更好。查看一下Yocto文档,您可以尝试直接在local.conf中设置
EXTRA\u OECMAKE=“-DSW\u VERSION=${SW\u VERSION}”
?您还可以使用
\u pn-=“”“
覆盖local.conf中的值,例如
EXTRA\u OECMAKE\u append\u pn-mycmakerecipe=“-DSW\u VERSION=${SW VERSION}”
应仅为您的配方设置cmake选项。为什么要避免编辑配方?您可以添加.bbappend并传递目标标志。此外,您还可以在poky/meta/conf/bitbake.conf中添加全局编译器选项,但从您的配方(或bbappend)传递它会更好。查看一下Yocto文档,您可以尝试直接在local.conf中设置
EXTRA\u OECMAKE=“-DSW\u VERSION=${SW\u VERSION}”
?您还可以使用
\u pn-=“”“
覆盖local.conf中的值,例如
EXTRA\u OECMAKE\u append\u pn-mycmakerecipe=“-DSW\u VERSION=${SW VERSION}”
应仅为您的配方设置cmake选项。