From 8ec308e9dcbfd100f3fef79c779ab52600a74243 Mon Sep 17 00:00:00 2001 From: "Jonathan R. Madsen" Date: Mon, 15 Apr 2024 15:35:07 -0500 Subject: [PATCH] Fix Findlibdw.cmake and Findlibelf.cmake (#764) - improve pkg-config and explicit search fallback [ROCm/rocprofiler-sdk commit: d766034c06c3b45471e224eb26ed18c17f785c32] --- .../rocprofiler-sdk/cmake/Modules/Findlibdw.cmake | 8 ++++++-- .../rocprofiler-sdk/cmake/Modules/Findlibelf.cmake | 11 +++++++---- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/projects/rocprofiler-sdk/cmake/Modules/Findlibdw.cmake b/projects/rocprofiler-sdk/cmake/Modules/Findlibdw.cmake index 5ab5ee9357..2f1dd63714 100644 --- a/projects/rocprofiler-sdk/cmake/Modules/Findlibdw.cmake +++ b/projects/rocprofiler-sdk/cmake/Modules/Findlibdw.cmake @@ -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 diff --git a/projects/rocprofiler-sdk/cmake/Modules/Findlibelf.cmake b/projects/rocprofiler-sdk/cmake/Modules/Findlibelf.cmake index 2b39f9f366..71edc8da24 100644 --- a/projects/rocprofiler-sdk/cmake/Modules/Findlibelf.cmake +++ b/projects/rocprofiler-sdk/cmake/Modules/Findlibelf.cmake @@ -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)