xref: /aosp_15_r20/external/google-benchmark/cmake/Modules/FindPFM.cmake (revision dbb99499c3810fa1611fa2242a2fc446be01a57c)
1*dbb99499SAndroid Build Coastguard Worker# If successful, the following variables will be defined:
2*dbb99499SAndroid Build Coastguard Worker# PFM_FOUND.
3*dbb99499SAndroid Build Coastguard Worker# PFM_LIBRARIES
4*dbb99499SAndroid Build Coastguard Worker# PFM_INCLUDE_DIRS
5*dbb99499SAndroid Build Coastguard Worker# the following target will be defined:
6*dbb99499SAndroid Build Coastguard Worker# PFM::libpfm
7*dbb99499SAndroid Build Coastguard Worker
8*dbb99499SAndroid Build Coastguard Workerinclude(FeatureSummary)
9*dbb99499SAndroid Build Coastguard Workerinclude(FindPackageHandleStandardArgs)
10*dbb99499SAndroid Build Coastguard Worker
11*dbb99499SAndroid Build Coastguard Workerset_package_properties(PFM PROPERTIES
12*dbb99499SAndroid Build Coastguard Worker                       URL http://perfmon2.sourceforge.net/
13*dbb99499SAndroid Build Coastguard Worker                       DESCRIPTION "A helper library to develop monitoring tools"
14*dbb99499SAndroid Build Coastguard Worker                       PURPOSE "Used to program specific performance monitoring events")
15*dbb99499SAndroid Build Coastguard Worker
16*dbb99499SAndroid Build Coastguard Workerfind_library(PFM_LIBRARY NAMES pfm)
17*dbb99499SAndroid Build Coastguard Workerfind_path(PFM_INCLUDE_DIR NAMES perfmon/pfmlib.h)
18*dbb99499SAndroid Build Coastguard Worker
19*dbb99499SAndroid Build Coastguard Workerfind_package_handle_standard_args(PFM REQUIRED_VARS PFM_LIBRARY PFM_INCLUDE_DIR)
20*dbb99499SAndroid Build Coastguard Worker
21*dbb99499SAndroid Build Coastguard Workerif (PFM_FOUND AND NOT TARGET PFM::libpfm)
22*dbb99499SAndroid Build Coastguard Worker    add_library(PFM::libpfm UNKNOWN IMPORTED)
23*dbb99499SAndroid Build Coastguard Worker    set_target_properties(PFM::libpfm PROPERTIES
24*dbb99499SAndroid Build Coastguard Worker        IMPORTED_LOCATION "${PFM_LIBRARY}"
25*dbb99499SAndroid Build Coastguard Worker        INTERFACE_INCLUDE_DIRECTORIES "${PFM_INCLUDE_DIR}")
26*dbb99499SAndroid Build Coastguard Workerendif()
27*dbb99499SAndroid Build Coastguard Worker
28*dbb99499SAndroid Build Coastguard Workermark_as_advanced(PFM_LIBRARY PFM_INCLUDE_DIR)
29