美文网首页
CMake的pkg-config模块使用

CMake的pkg-config模块使用

作者: dnsir | 来源:发表于2018-11-26 23:38 被阅读52次

    1 引言

    很多大型第三方框架使用Pkg-Config维护它依赖库路径、头文件路径、编译选项、链接选项等信息,文件名后缀是.pc,方便第三方开发者便捷地获取相关信息,例如OpenCV和Seastar,通常都是大型且复杂的第三方库

    2 基本使用

    可以通过Linux的PkgConfig命令获取相关信息,如
    pkg-config --libs --cflags seastar

    3 CMake中如何调用

    CMake通过FindPkgConfig模块来使用获取相关信息,比较经典的写法是:

    set(ENV{PKG_CONFIG_PATH} /seastar/build/release)
    find_package(PkgConfig)
    pkg_search_module(SEASTARPC REQUIRED seastar)
    

    后面就可以通过SEASTARPC_LIBRARIES等方式获取相关编译选项和库名称等。

    MESSAGE(STATUS ${SEASTARPC_LIBRARIES})
    MESSAGE(STATUS ${SEASTARPC_INCLUDE_DIRS})
    

    具体有哪些可以使用,可以参看CMake的FindPkgConfig模块使用.

    4 总结

    一些细节问题可以百度一下,以上方法足够日常开发使用。

    5 附录-seastar.pc

    seastar.pc位于/seastar/build/release/seastar.pc,文件内容如下:

    Name: Seastar
    URL: http://seastar-project.org/
    Description: Advanced C++ framework for high-performance server applications on modern hardware.
    Version: 1.0
    Libs:
    Cflags:
    

    相关文章

      网友评论

          本文标题:CMake的pkg-config模块使用

          本文链接:https://www.haomeiwen.com/subject/rfqwqqtx.html