我们正在为嵌入式MCU开发应用程序(stm32)并且我们正在尝试使用googletest设置单元测试。是否可以使用嵌入式编译器编译目标(gcc-arm-none和一些编译选项)并编译另一个目标(单元测试)使用带CMake的本机编译器?我们将抽象并模拟硬件依赖性。这将允许我们在CI期间在主机上运行测试。如果这不是要走的路,或者如果这种方法有问题,我对另一种方法持开放态度。
djmepvbi1#
是的,这是可能的。对于交叉编译,您可以使用工具链文件。构建测试时,只需不指定工具链文件,即可使用本机工具链。您还可以设置一个标志来指示正在构建测试,并在CmakeLists.txt中使用该标志:
CmakeLists.txt
if(ENABLE_TESTING) enable_testing() add_subdirectory(test) else() # Build embedded app endif()
1条答案
按热度按时间djmepvbi1#
是的,这是可能的。对于交叉编译,您可以使用工具链文件。构建测试时,只需不指定工具链文件,即可使用本机工具链。
您还可以设置一个标志来指示正在构建测试,并在
CmakeLists.txt
中使用该标志: