在使用其他工具的构建过程中,cmake检测标志

时间:2018-08-05 13:55:42

标签: c++ build cmake

我遇到了一个问题,如何使用cmake将3rd-party依赖库添加到链接命令。 目前,我的cmake构建执行以下操作:

  • 从git中获取第三方库并进行构建(ExternalProject_Add)
  • 在建立了第三方libarry之后,它提供了自定义二进制文件 (名为“ config ++”),可以通过以下方式调用它 参数:
    • 'config ++ --cppflags'-使CPPFLAGS用于 与库一起编译
    • 'config ++ --ldflags'-获取库路径 建库时放置库的位置
    • 'config ++ --libs'-获取 库列表(包括静态库和共享库) 与库链接时使用。

(是的,config ++与pkg-config非常相似。)

由于第3方库构建是在项目构建期间完成的,而我之前还没有准备好config ++,有什么方法可以动态检测CXXFLAGS / LDFLAGS(通过调用“ config ++”),何时将其传递给编译/链接命令执行“ cmake构建”?

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用CMake命令execute_process运行外部程序,然后将其输出收集到一个变量中,然后将该变量附加到构建标志中。