• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Find PAPI libraries
2# Once done this will define
3#  PAPI_FOUND - System has PAPI
4#  PAPI_INCLUDE_DIRS - The PAPI include directories
5#  PAPI_LIBRARIES - The libraries needed to use PAPI
6
7if(PAPI_INCLUDE_DIRS AND PAPI_LIBRARIES)
8  set(PAPI_FIND_QUIETLY TRUE)
9endif()
10
11find_path(PAPI_INCLUDE_DIRS NAMES papi.h HINTS ${PAPI_ROOT} PATH_SUFFIXES include)
12find_library(PAPI_LIBRARIES NAMES papi HINTS ${PAPI_ROOT} PATH_SUFFIXES lib lib64)
13
14include(FindPackageHandleStandardArgs)
15find_package_handle_standard_args(PAPI DEFAULT_MSG PAPI_LIBRARIES PAPI_INCLUDE_DIRS)
16if(PAPI_FOUND AND NOT TARGET PAPI::PAPI)
17    set(PAPI_LIBRARIES ${PAPI_LIBRARIES} rt)
18
19    add_library(PAPI::PAPI SHARED IMPORTED)
20    set_target_properties(PAPI::PAPI PROPERTIES
21        INTERFACE_INCLUDE_DIRECTORIES "${PAPI_INCLUDE_DIRS}"
22        IMPORTED_LOCATION "${PAPI_LIBRARIES}")
23endif()
24
25mark_as_advanced(PAPI_INCLUDE_DIRS PAPI_LIBRARIES)
26