当我们在使用Cmake编译项目的时候,CMakeList.txt中经常会需要链接到第三方库,一些正规的依赖包,通常会安装在系统路径,譬如/usr/include, /usr/lib之类的位置,并且还会具备CMake foundpackage.cmake之类的配置文件。这时候,我们可以使用found(package)语句,并使用该依赖包常用的环境变量去找到它。
好了,那么如果是我们自己编译的包,自己的代码,又该如何呢?
这时候,很多应该就会想到要使用target_include_directories之类的语句,target_link之类的。
如果你自己的包放在了自己的代码目录下,譬如什么dll,so之类的库文件。
这时候就不要使用include_dirctories之类的泛包含语句了。而是应该使用target开头的语句,让cmake去你指定的路径去寻找,而不是include一个大范围,cmake无法达到你的预期。
除此之外,就是可以使用pkgconfig,但是要求你的库里面需要有后缀为pc的文件。