On Thu, 10 Dec 2020 09:48:02 +0100 David Runge <dave@xxxxxxxxxxx> 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. > > To use pkg-config/pkgconf directly, it is possible to make use of > the FindPkgConfig [2] module. > Yeah, that FindPkgConfig module looks like what we need. > 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. Note, I've never used cmake before Yordan introduced it to KernelShark. This question is better answered by Yordan. -- Steve > > [1] https://cmake.org/cmake/help/latest/command/find_package.html#command:find_package > [2] https://cmake.org/cmake/help/latest/module/FindPkgConfig.html >