CMake find_package: where did it find the package?

2019-07-06 23:46发布

问题:

In my CMake package, there is a call to find_package. This succeeds, great! However, it turns out to be the wrong version of the package. I now want to go and delete that package. However, I have no idea where the heck it is on my system, nor where the -config.cmake file is that CMake must have found somewhere. Is there a way to get find_package to give me this information? Or at least verbosely tell me where it is searching?

I though this might be in the variable CMAKE_MODULE_PATH, however that is empty for me. So I guess it is in the default paths somewhere. But CMake searches a lot of places for packages, and I didn't find it in the usual locations that I remember.

回答1:

Ah ok, I found a solution here:

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

Turns out there is a special debug flag to make find_package tell you where it is searching:

cmake -D CMAKE_FIND_DEBUG_MODE=ON ..