Raw File
FindPowercap.cmake
# Find Powercap
include(FindPackageHandleStandardArgs)

find_path(POWERCAP_INCLUDE_DIR powercap/powercap.h)
find_library(POWERCAP_LIBRARY powercap)
find_package_handle_standard_args(POWERCAP DEFAULT_MSG POWERCAP_INCLUDE_DIR POWERCAP_LIBRARY)

if(POWERCAP_FOUND)
    add_definitions(-DPOWERCAP_FOUND)
    set(POWERCAP_INCLUDE_DIRS ${POWERCAP_INCLUDE_DIR})
    set(POWERCAP_LIBRARIES ${POWERCAP_LIBRARY})

    # try to find number of RAPL packages
    execute_process(
        COMMAND rapl-info -n
        RESULT_VARIABLE RAPL_INFO_RESULT
        OUTPUT_VARIABLE RAPL_INFO_OUT
        OUTPUT_STRIP_TRAILING_WHITESPACE)

    if(${RAPL_INFO_RESULT} EQUAL 0)
        add_definitions(-DNUM_RAPL_PACKAGES=${RAPL_INFO_OUT})
    else()
        message(WARNING "Failed to find number of RAPL packages on the system, rapl-info returned: ${RAPL_INFO_RESULT}")
    endif()
endif()
back to top