Re: [PATCH v6 00/27] Start KernelShark v2 transformation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux USB Development]     [Linux USB Development]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux