CMake find_package:在哪里找到包?

问题描述 投票:0回答:3

在我的 CMake 包中,有一个对

find_package
的调用。这样就成功了,太好了!然而,事实证明该包的版本错误。我现在想去删除那个包。然而,我不知道它到底在我的系统上哪里,也不知道 CMake 一定在某个地方找到了
-config.cmake
文件。有没有办法让
find_package
给我这些信息?或者至少详细地告诉我它在哪里搜索?

我虽然这可能在变量

CMAKE_MODULE_PATH
中,但这对我来说是空的。所以我猜它在某个地方的默认路径中。但是 CMake 在很多地方搜索了包,但我没有在我记得的通常位置找到它。

cmake cmake-modules
3个回答
14
投票

从 CMake 3.17 开始,

cmake
命令行 原生支持打印 CMake find_* 命令的
all
的搜索目录。使用
--debug-find
标志:

cmake --debug-find ..

10
投票

好吧,我在这里找到了解决方案:

https://riptutorial.com/cmake/example/21128/debug-find-package---错误

原来有一个特殊的调试标志可以让

find_package
告诉你它在哪里搜索:

cmake -D CMAKE_FIND_DEBUG_MODE=ON ..

0
投票

https://stackoverflow.com/a/78984570/2482283

cmake如何找到包

来自 CMake\Sourc 中的 cmake find_package 源代码

© www.soinside.com 2019 - 2024. All rights reserved.