CMake find_package: 它在哪里找到包?
CMake find_package: where did it find the package?
在我的 CMake 包中,有一个对 find_package
的调用。成功了,太棒了!但是,事实证明它是错误的软件包版本。我现在想去删除那个包。但是,我不知道它在我的系统上到底在哪里,也不知道 CMake 必须在某处找到的 -config.cmake
文件在哪里。有没有办法让 find_package
给我这些信息?或者至少详细地告诉我它在哪里搜索?
虽然这可能在变量 CMAKE_MODULE_PATH
中,但对我来说它是空的。所以我猜它在某处的默认路径中。但是CMake在很多地方搜索包,我没有在我记得的常用位置找到它。
好的,我在这里找到了解决方案:
https://riptutorial.com/cmake/example/21128/debug-find-package---errors
原来有一个特殊的调试标志可以让 find_package
告诉你它在哪里搜索:
cmake -D CMAKE_FIND_DEBUG_MODE=ON ..
从 CMake 3.17 开始,cmake
command line 原生支持打印 CMake find_*
命令的 all 搜索目录.使用 --debug-find
标志:
cmake --debug-find ..
在我的 CMake 包中,有一个对 find_package
的调用。成功了,太棒了!但是,事实证明它是错误的软件包版本。我现在想去删除那个包。但是,我不知道它在我的系统上到底在哪里,也不知道 CMake 必须在某处找到的 -config.cmake
文件在哪里。有没有办法让 find_package
给我这些信息?或者至少详细地告诉我它在哪里搜索?
虽然这可能在变量 CMAKE_MODULE_PATH
中,但对我来说它是空的。所以我猜它在某处的默认路径中。但是CMake在很多地方搜索包,我没有在我记得的常用位置找到它。
好的,我在这里找到了解决方案:
https://riptutorial.com/cmake/example/21128/debug-find-package---errors
原来有一个特殊的调试标志可以让 find_package
告诉你它在哪里搜索:
cmake -D CMAKE_FIND_DEBUG_MODE=ON ..
从 CMake 3.17 开始,cmake
command line 原生支持打印 CMake find_*
命令的 all 搜索目录.使用 --debug-find
标志:
cmake --debug-find ..