My CMake Tutorial 5

这篇是教你如何用cmake和pkg-config搅基。

关于这个系列的宗旨,就是用我写过的项目里面用的那屁点CMake给大家看看,有些技巧我可能还自鸣得意,很有和大家分享的冲动。你想要找以前的文章,就去点下分类里面的cmake就好。

cmake 内置了 pkgconfig支持,想要用的话只需要

find_package(PkgConfig)

里面内置的命令是这样的

pkg_check_modules(LIBPINYIN "libpinyin >= 0.5.0")

前面是变量名的前缀,一般来说会生成以下变量 <VAR>_FOUND,<VAR>_INCLUDE_DIRS,<VAR>_LIBRARY_DIRS,<VAR>_LIBRARIES。

这就是通常的用法,非常的简单。

以下是我常用的trick之一,实际上是用了一个内部命令,不过实在太好用了。

_pkgconfig_invoke("libpinyin" LIBPINYIN EXECPREFIX "" "--variable=exec_prefix")

简单来说,就是在pkgconfig的文件中经常会有定义一些变量,不过不幸的是CMAKE并没有直接获得这些变量的方法,于是就用了以上的手段。

具体参数是,pkgconfig配置名,变量前缀,变量名,空字符串,pkgconfig参数。

这样就可以顺利得到LIBPINYIN_EXECPREFIX这样的变量名啦。

 

This entry was posted in cmake and tagged . Bookmark the permalink.

5 Responses to My CMake Tutorial 5

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.