10

When I install libraries with homebrew cmake can't seem to find them. Is there a simple way to fix this for an arbitrary library installed with brew.

aaronman
  • 18,343
  • 7
  • 63
  • 78

1 Answers1

16

Default

By default brew's libraries installed to /usr/local/lib folder:

> ls /usr/local/lib/liblzma.dylib 
/usr/local/lib/liblzma.dylib@

Check that this path exists in CMAKE_SYSTEM_PREFIX_PATH variable. In this case find is trivial:

message("system: ${CMAKE_SYSTEM_PREFIX_PATH}")
find_library(LZMA_LIBRARY lzma)
message("lzma: ${LZMA_LIBRARY}")

Result:

system: /usr/local;/usr;/;...
lzma: /usr/local/lib/liblzma.dylib

Otherwise

If it is not you need to modify CMAKE_PREFIX_PATH or CMAKE_LIBRARY_PATH before find_library command:

list(APPEND CMAKE_PREFIX_PATH /usr/local)