FindValgrind.cmake raw

   1  if(CMAKE_HOST_APPLE)
   2    find_program(BREW_COMMAND brew)
   3    execute_process(
   4      COMMAND ${BREW_COMMAND} --prefix valgrind
   5      OUTPUT_VARIABLE valgrind_brew_prefix
   6      ERROR_QUIET
   7      OUTPUT_STRIP_TRAILING_WHITESPACE
   8    )
   9  endif()
  10  
  11  set(hints_paths)
  12  if(valgrind_brew_prefix)
  13    set(hints_paths ${valgrind_brew_prefix}/include)
  14  endif()
  15  
  16  find_path(Valgrind_INCLUDE_DIR
  17    NAMES valgrind/memcheck.h
  18    HINTS ${hints_paths}
  19  )
  20  
  21  if(Valgrind_INCLUDE_DIR)
  22    include(CheckCSourceCompiles)
  23    set(CMAKE_REQUIRED_INCLUDES ${Valgrind_INCLUDE_DIR})
  24    check_c_source_compiles("
  25      #include <valgrind/memcheck.h>
  26      #if defined(NVALGRIND)
  27      #  error \"Valgrind does not support this platform.\"
  28      #endif
  29  
  30      int main() {}
  31    " Valgrind_WORKS)
  32  endif()
  33  
  34  include(FindPackageHandleStandardArgs)
  35  find_package_handle_standard_args(Valgrind
  36    REQUIRED_VARS Valgrind_INCLUDE_DIR Valgrind_WORKS
  37  )
  38  
  39  mark_as_advanced(
  40    Valgrind_INCLUDE_DIR
  41  )
  42