如何使用cmake为包(例如LibXml2)找到C标志

时间:2014-08-06 16:20:04

标签: c cmake

我正在尝试将特定包的C标志添加到CMAKE_C_FLAGS。但我不知道如何使用cmake找到包的C标志。有人知道吗

1 个答案:

答案 0 :(得分:2)

没有通用的方法(跨平台)来获取某个软件包的正确cflags,对于Windows,例如,由于没有默认位置,即使软件包已安装,也无法检查。在unix系统中,您可以通过运行

找到某个包的cflags
pkg-config --cflags packagename

Cmake通常有特定的脚本来查找包并为它们构建正确的编译标志,如果它可用且包没有特定的脚本(例如,如果Cmake未知),则会回退到pkg-config。参见

http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries

了解详情。

在您的情况下,您可能需要为libxml2包提供临时配方。其他用户编写并共享,您可以通过搜索谷歌找到很多" libxml2 cmake"。实际上,libxml2是我在之前链接的同一页面上使用的例子#34;如何编写cmake未知的库的自定义配方"