Hi David, On 10.12.20 г. 10:48 ч., David Runge wrote:
On 2020-12-09 21:38:22 (-0500), Steven Rostedt wrote:On Wed, 9 Dec 2020 15:41:36 +0200 "Yordan Karadzhov (VMware)" <y.karadz@xxxxxxxxx> wrote: I just realized that the current repo doesn't build against the latest libtracefs, because the library's location has moved. I noticed that the CMake files have it hard coded with: find_library(TRACEFS_LIBRARY NAMES tracefs/libtracefs.a find_library(TRACEFS_LIBRARY NAMES tracefs/libtracefs.so) Is there a way to make cmake use pkg-config? pkg-config --cflags --libs libtracefs Will give us the correct includes and libraries for building against libtracefs if installed. We'll want the same for libtraceevent and libtracecmd as well.find_package() [1] is usually used for package discovery in cmake-land. If the NAMES argument is provided it overrides any provided package name. In more complex cases (of the package) it is better to have the package ship with a find_<PACKAGE>.cmake file that will be automatically used by cmake if it is installed in the system locations.
I agree. This is indeed the proper way to get CMake find the libtracefs automatically. And we should do the same for libtraceevent.
To use pkg-config/pkgconf directly, it is possible to make use of the FindPkgConfig [2] module. Best, David P.S.: Out of context: Why is the cmake minimum requirement so low? To make use of useful features in cmake it needs to be at least 3.4, better higher even.
This is legacy and it has to be updated. Absolutely. Thanks a lot! Yordan
[1] https://cmake.org/cmake/help/latest/command/find_package.html#command:find_package [2] https://cmake.org/cmake/help/latest/module/FindPkgConfig.html