Fix Findlibdw.cmake and Findlibelf.cmake (#764)

- improve pkg-config and explicit search fallback

[ROCm/rocprofiler-sdk commit: d766034c06]
Tá an tiomantas seo le fáil i:
Jonathan R. Madsen
2024-04-15 15:35:07 -05:00
tiomanta ag GitHub
tuismitheoir 1bdf62348e
tiomantas 8ec308e9dc
D'athraigh 2 comhad le 13 breiseanna agus 6 scriosta
@@ -25,8 +25,12 @@
find_package(PkgConfig)
if(PkgConfig_FOUND)
set(ENV{PKG_CONFIG_SYSTEM_INCLUDE_PATH} "")
pkg_check_modules(DW libdw)
if(DW_FOUND)
if(DW_FOUND
AND DW_INCLUDE_DIRS
AND DW_LIBRARIES)
set(libdw_INCLUDE_DIR
"${DW_INCLUDE_DIRS}"
CACHE FILEPATH "libdw include directory")
@@ -36,7 +40,7 @@ if(PkgConfig_FOUND)
endif()
endif()
if(NOT PkgConfig_FOUND OR NOT DW_FOUND)
if(NOT libdw_INCLUDE_DIR OR NOT libdw_LIBRARY)
find_path(
libdw_ROOT_DIR
NAMES include/elfutils/libdw.h
@@ -25,9 +25,12 @@
find_package(PkgConfig)
if(PkgConfig_FOUND)
set(ENV{PKG_CONFIG_SYSTEM_INCLUDE_PATH} "")
pkg_check_modules(ELF libelf)
if(ELF_FOUND)
if(ELF_FOUND
AND ELF_INCLUDE_DIRS
AND ELF_LIBRARIES)
set(libelf_INCLUDE_DIR
"${ELF_INCLUDE_DIRS}"
CACHE FILEPATH "libelf include directory")
@@ -37,10 +40,10 @@ if(PkgConfig_FOUND)
endif()
endif()
if(NOT PkgConfig_FOUND OR NOT ELF_FOUND)
if(NOT libelf_INCLUDE_DIR OR NOT libelf_LIBRARY)
find_path(
libelf_ROOT_DIR
NAMES include/gelf.h include/elf.h
NAMES include/elf.h
HINTS ${libelf_ROOT}
PATHS ${libelf_ROOT})
@@ -48,7 +51,7 @@ if(NOT PkgConfig_FOUND OR NOT ELF_FOUND)
find_path(
libelf_INCLUDE_DIR
NAMES gelf.h elf.h
NAMES elf.h
HINTS ${libelf_ROOT}
PATHS ${libelf_ROOT}
PATH_SUFFIXES include)