gcc CMake:本机编译单元测试并为嵌入式目标交叉编译代码

6ju8rftf  于 2022-11-30  发布在  其他
关注(0)|答案(1)|浏览(163)

我们正在为嵌入式MCU开发应用程序(stm32)并且我们正在尝试使用googletest设置单元测试。是否可以使用嵌入式编译器编译目标(gcc-arm-none和一些编译选项)并编译另一个目标(单元测试)使用带CMake的本机编译器?我们将抽象并模拟硬件依赖性。这将允许我们在CI期间在主机上运行测试。
如果这不是要走的路,或者如果这种方法有问题,我对另一种方法持开放态度。

djmepvbi

djmepvbi1#

是的,这是可能的。对于交叉编译,您可以使用工具链文件。构建测试时,只需不指定工具链文件,即可使用本机工具链。
您还可以设置一个标志来指示正在构建测试,并在CmakeLists.txt中使用该标志:

if(ENABLE_TESTING)
    enable_testing()
    add_subdirectory(test)
else()
    # Build embedded app
endif()

相关问题