我正在考虑将 CMake 用于针对微控制器的项目。我发现了如何创建工具链文件并调用cmake -DCMAKE_TOOLCHAIN_FILE=Path/To/Toolchain.cmake
以使 CMake 进行交叉编译。
然而,我从事的大多数项目也有必须为主机平台编译的代码。这些通常是单元测试或其他测试工具,它们与将在微控制器上运行的二进制文件共享大部分代码。一个罕见的情况可能是一个项目甚至有两个具有不同指令架构的处理器,因此需要一个主机编译器和两个不同的交叉编译器。
我想要一个可以统治所有这些的构建。是否有可能有一个我只需要调用的构造cmake /path/to/source && make
,或者是唯一具有多个“根”CMakeList.txt
文件的解决方案,每个文件都针对每个目标?