在cmake项目中,我们定义了多个目标。其中一些用于生产(特别是可执行文件),而这些则使用install_targets
标记为要安装。其他一些是单元测试,我们没有安装。
在某些情况下,我们只想构建可执行文件及其依赖项,而不要构建单元测试。也就是说,仅构建将要安装的目标。仅运行ninja
或ninja install
即可构建包括单元测试在内的所有内容,这会花费大量时间。
我找不到简单且可维护的方式来完成此任务。我可以定义一个新目标并将所有可执行文件作为依赖项,但是添加新的可执行文件还需要修改该目标的依赖项。
是否有一种简单的方法要求构建系统编译将要安装的目标并忽略其他目标?
此外,解决方案是否取决于发电机?即,unix makefile,ninja,xcode项目,...之间会有区别吗?