用几句话说一说CMake add_dependencies & target_link_libraries的使用区别

时间:2023-03-10 03:04:20
用几句话说一说CMake add_dependencies & target_link_libraries的使用区别

简单说一说前两天学习使用CMake解决链接问题时遇到的一个问题。

对于编译时遇到的依赖问题,很多时候我们只需要一句target_link_libraries就可以搞定。

但是CMake还有另外一个command,add_dependencies。这个什么时候用呢?

一般来说用不到。用到的情况就是两个targets有依赖关系(通过target_link_libraries解决)并且依赖库也是通过编译源码产生的。这时候一句add_dependencies可以在直接编译上层target时,自动检查下层依赖库是否已经生成。没有的话先编译下层依赖库,然后再编译上层target,最后link depend target。

完。