X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/5a9c845da2c148a5e6319c698b0e539ee3351164..c08d2440735566c5901d5448531a47ce2b73e5c2:/tools/cmake/Modules/FindPAPI.cmake diff --git a/tools/cmake/Modules/FindPAPI.cmake b/tools/cmake/Modules/FindPAPI.cmake new file mode 100644 index 0000000000..afb95bbe37 --- /dev/null +++ b/tools/cmake/Modules/FindPAPI.cmake @@ -0,0 +1,77 @@ +# Try to find PAPI headers and LIBRARY. +# +# Usage of this module as follows: +# +# find_package(PAPI) +# +# Variables used by this module, they can change the default behaviour and need +# to be set before calling find_package: +# +# PAPI_PREFIX Set this variable to the root installation of +# libpapi if the module has problems finding the +# proper installation path. +# +# Variables defined by this module: +# +# PAPI_FOUND System has PAPI LIBRARY and headers +# PAPI_LIBRARY The PAPI library +# PAPI_INCLUDE_DIRS The location of PAPI headers + +set(HAVE_PAPI 0) +set(PAPI_HINT ${papi_path} CACHE PATH "Path to search for PAPI headers and library") + +find_path(PAPI_PREFIX + NAMES include/papi.h + PATHS + ${PAPI_HINT} +) + +message(STATUS "Looking for libpapi") +find_library(PAPI_LIBRARY + NAMES libpapi papi + PATH_SUFFIXES lib64 lib + # HINTS gets searched before PATHS + HINTS + ${PAPI_PREFIX}/lib +) +if(PAPI_LIBRARY) + message(STATUS "Looking for libpapi - found at ${PAPI_LIBRARY}") +else() + message(STATUS "Looking for libpapi - not found") +endif() + +message(STATUS "Looking for papi.h") +find_path(PAPI_INCLUDE_DIRS + NAMES papi.h + # HINTS gets searched before PATHS + HINTS ${PAPI_PREFIX}/include +) +if(PAPI_INCLUDE_DIRS) + message(STATUS "Looking for papi.h - found at ${PAPI_INCLUDE_DIRS}") +else() + message(STATUS "Looking for papi.h - not found") +endif() + + +if (PAPI_LIBRARY) + if(PAPI_INCLUDE_DIRS) + set(HAVE_PAPI 1) + mark_as_advanced(HAVE_PAPI) + endif() +endif() +if(NOT HAVE_PAPI) + message(FATAL_ERROR, "Could not find PAPI LIBRARY and/or papi.h. Make sure they are correctly installed!") +endif() + +#include(FindPackageHandleStandardArgs) +#find_package_handle_standard_args(PAPI DEFAULT_MSG +# PAPI_LIBRARY +# PAPI_INCLUDE_DIRS +#) + +mark_as_advanced( + PAPI_PREFIX_DIRS + PAPI_LIBRARY + PAPI_INCLUDE_DIRS +) +