Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CMake find_package: where did it find the package?

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.

like image 797
Ben Farmer Avatar asked Nov 21 '18 10:11

Ben Farmer


2 Answers

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 ..
like image 154
Ben Farmer Avatar answered Oct 18 '22 15:10

Ben Farmer


As of CMake 3.17, the cmake command line has native support for printing the search directories for all of the CMake find_* commands. Use the --debug-find flag:

cmake --debug-find ..
like image 45
Kevin Avatar answered Oct 18 '22 14:10

Kevin