61 lines
1.5 KiB
CMake
61 lines
1.5 KiB
CMake
# - Find Dwarf
|
|
# Find the dwarf.h header from elf utils
|
|
#
|
|
# DWARF_INCLUDE_DIR - where to find dwarf.h, etc.
|
|
# DWARF_LIBRARIES - List of libraries when using elf utils.
|
|
# DWARF_FOUND - True if fdo found.
|
|
|
|
|
|
IF (DWARF_INCLUDE_DIR)
|
|
# Already in cache, be silent
|
|
SET(DWARF_FIND_QUIETLY TRUE)
|
|
ENDIF (DWARF_INCLUDE_DIR)
|
|
|
|
FIND_PATH(DWARF_INCLUDE_DIR dwarf.h
|
|
/usr/local/include
|
|
/usr/include/libdwarf
|
|
/usr/include
|
|
)
|
|
|
|
FIND_PATH(LIBDW_INCLUDE_DIR libdw.h
|
|
/usr/local/include
|
|
/usr/include
|
|
/usr/include/elfutils
|
|
/usr/local/include/elfutils)
|
|
|
|
FIND_LIBRARY(DWARF_LIBRARY
|
|
NAMES dw dwarf
|
|
PATHS /usr/lib /usr/local/lib /usr/lib64 /usr/local/lib64
|
|
)
|
|
|
|
FIND_LIBRARY(ELF_LIBRARY
|
|
NAMES elf
|
|
PATHS /usr/lib /usr/local/lib /usr/lib64 /usr/local/lib64
|
|
)
|
|
|
|
IF (DWARF_INCLUDE_DIR AND DWARF_LIBRARY AND ELF_LIBRARY)
|
|
SET(DWARF_FOUND TRUE)
|
|
SET( DWARF_LIBRARIES ${DWARF_LIBRARY} ${ELF_LIBRARY})
|
|
ELSE (DWARF_INCLUDE_DIR AND DWARF_LIBRARY AND ELF_LIBRARY)
|
|
SET(DWARF_FOUND FALSE)
|
|
SET( DWARF_LIBRARIES )
|
|
ENDIF (DWARF_INCLUDE_DIR AND DWARF_LIBRARY AND ELF_LIBRARY)
|
|
|
|
IF (DWARF_FOUND)
|
|
IF (NOT DWARF_FIND_QUIETLY)
|
|
MESSAGE(STATUS "Found DWARF: ${DWARF_LIBRARY}")
|
|
MESSAGE(STATUS "Found ELF: ${ELF_LIBRARY}")
|
|
ENDIF (NOT DWARF_FIND_QUIETLY)
|
|
ELSE (DWARF_FOUND)
|
|
IF (DWARF_FIND_REQUIRED)
|
|
MESSAGE(STATUS "Looked for elf utils libraries named ${DWARFS_NAMES}.")
|
|
MESSAGE(FATAL_ERROR "Could NOT find elf utils libraries")
|
|
ENDIF (DWARF_FIND_REQUIRED)
|
|
ENDIF (DWARF_FOUND)
|
|
|
|
MARK_AS_ADVANCED(
|
|
DWARF_LIBRARY
|
|
ELF_LIBRARY
|
|
DWARF_INCLUDE_DIR
|
|
)
|