我正在开发一个使用 CMake 配置和生成的现有项目。目标是一个 ARM 设备,所以我用 Yocto/OpenEmbedded 构建了所有系统。
我设法构建了一个配方来构建 cmake 项目。它看起来像这样:
DESCRIPTION = "FANN LIB"
LICENSE = "CLOSED"
inherit cmake
SRCREV = "${AUTOREV}"
PV = "1.0"
SRC_URI = "git://github.com/libfann/fann.git;branch=master;protocol=git"
S = "${WORKDIR}/git"
BBCLASSEXTEND = "native"
FILES_${PN} += "/usr/lib/cmake/"
Run Code Online (Sandbox Code Playgroud)
在代码中有我想激活的“#ifdef DEBUG”。所以我想将 DEBUG 添加到 C/C++ Flags 中。
我发现我可以使用
EXTRA_OECMAKE += "CXXFLAGS='-DDEBUG'"
EXTRA_OECMAKE = "set(CMAKE_CXX_FLAGS "-DDEBUG")"
Run Code Online (Sandbox Code Playgroud)
但是,booth 替换了所有的 CFlags,这不是我想要的(而且它破坏了编译!)
我只想在调用编译器时添加 -DDEBUG !:-)
如何在 Yocto 配方的基于 CMake 的项目中添加预处理器定义?