CMake build
Michael Pumford
michaelp at bsquare.com
Mon Apr 27 16:30:59 UTC 2020
On 27/04/2020 17:07, Pietro Paolini wrote:
> Hi all,
>
> I am new to FreeBSD even though I have been working in Unix
> environments for a long while (mainly Linux). I am struggling to build
> a library locally, using cmake - the library builds fine on a Linux
> machine as long as dependencies are satisfied. However in my case
> CMake gets all the dependencies correctly - namely it finds all
> libraries it needs - but it fails lo link them:
> Not a single one is found - I must be doing a silly mistake somewhere
> - I am wondering, is there any need from my side to tell CMake I am
> about to use not GNU Make ?
>
Have you told CMake you depend on those libraries? They aren't installed
by default on FreeBSD. If you have declared them as dependencies then
CMake should automatically add the correct include and library paths to
the compiler commands lines for you. My guess is that the cmake file is
just assuming they are all in /usr/lib and the includes are in
/usr/include which would be true on Linux.
For external dependencies in cmake you should have:
find_package(packagename REQUIRED)
for each library (or library package) in the library CMakeLists.txt. If
they are not there then you need to fix the cmakelists.txt until all the
libraries you depend on have a find_package line (unless multiple
libraries are part of the bundle). At this point cmake will sort out the
compiler command lines for you. And will still work on linux.
> Thanks,
> Pietro
> _______________________________________________
> freebsd-stable at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"
>
More information about the freebsd-stable
mailing list