gpt4 book ai didi

c++ - 如何使用配置模式进行 find_package 搜索并在模块模式下进行回退?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:33:52 24 4
gpt4 key购买 nike

当一个库使用 CMake 定义了一个构建并经历了为自己构建安装包的麻烦时,就会有一个 XXXConfig.cmake

如果库无法将其目标导出到 CMake,CMake 会尝试通过提供试图找到此类库的 FindXXX.cmake 脚本来弥合差距。

在文档中,首先尝试使用 FindXXX.cmake(模块模式),只有在失败时才会尝试使用 XXXConfig.cmake(配置模式) .但这对我来说似乎真的很倒退。

问题是,例如,我从源代码构建了 CURL,ConfigXXX 生成了与 FindXXX 不同的目标名称,因此,当尝试使用它时,它失败了,因为 FindXXX 负责 find_package 请求并加载了不同的目标名称超出我的预期。

我至少可以告诉 CMake 以某种方式以相反的方式做事吗?首先配置模式。

我知道我可以完全禁用模块模式,但我宁愿将它作为后备选项。

最佳答案

3.15 版的新功能:

Set CMAKE_FIND_PACKAGE_PREFER_CONFIG to TRUE to tell find_package() to first search using Config mode before falling back to Module mode.

引用文献:1 , 2 .

关于c++ - 如何使用配置模式进行 find_package 搜索并在模块模式下进行回退?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50978724/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com