[CMake] FIND_PATH() search custom path first

Jakub Zakrzewski jzakrzewski at e2e.ch
Tue Oct 28 08:34:40 EDT 2014


> I have a situation where I need to prefer a custom-build of a library over any system-installed versions. I understand that the paths in the HINTS variable will be searched before the > system ones, but the documentation discourages its use with hard-coded paths.
> If I do hard-code a HINTed path, what problems would that cause?

It's "just" a best practise. Someone smarter has come up with the right order and it looks sensible to me. I'd suggest, that you do your search in two steps:

find_path( MY_FILE
  NAMES "my_file.txt"
  PATHS
  "/the/file/is/here"
"/or/maybe/here"
  NO_DEFAULT_PATH
  NO_CMAKE_ENVIRONMENT_PATH
  NO_CMAKE_PATH
  NO_SYSTEM_ENVIRONMENT_PATH
  NO_CMAKE_SYSTEM_PATH
  NO_CMAKE_FIND_ROOT_PATH
)

find_path( MY_FILE
  NAMES "my_file.txt"
)

If the file is found wit the first call, then CMake won't try to find it again. Otherwise it'll proceed with standard search (second call).

--
Gruesse,
Jakub


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20141028/545d9030/attachment-0001.html>


More information about the CMake mailing list