[DynInst_API:] [dyninst/dyninst] 7eb85a: Elfutils cmake modernization (#1333)


Date: Mon, 12 Dec 2022 20:57:32 -0800
From: Tim Haines <noreply@xxxxxxxxxx>
Subject: [DynInst_API:] [dyninst/dyninst] 7eb85a: Elfutils cmake modernization (#1333)
  Branch: refs/heads/cmake_modernization
  Home:   https://github.com/dyninst/dyninst
  Commit: 7eb85ac2a455d61f62cdf9e122a06d33bd4192ce
      https://github.com/dyninst/dyninst/commit/7eb85ac2a455d61f62cdf9e122a06d33bd4192ce
  Author: Tim Haines <thaines.astro@xxxxxxxxx>
  Date:   2022-12-12 (Mon, 12 Dec 2022)

  Changed paths:
    M cmake/DyninstConfig.cmake.in
    A cmake/Modules/FindElfutils.cmake
    A cmake/Modules/FindLibDW.cmake
    M cmake/Modules/FindLibDebuginfod.cmake
    R cmake/Modules/FindLibDwarf.cmake
    A cmake/Modules/FindLibELF.cmake
    R cmake/Modules/FindLibElf.cmake
    M cmake/tpls/DyninstElfUtils.cmake
    M dwarf/CMakeLists.txt
    M dynC_API/CMakeLists.txt
    M dyninstAPI/CMakeLists.txt
    M elf/CMakeLists.txt
    M parseAPI/CMakeLists.txt
    M parseThat/CMakeLists.txt
    M stackwalk/CMakeLists.txt
    M symtabAPI/CMakeLists.txt

  Log Message:
  -----------
  Elfutils cmake modernization (#1333)

* Rename FindLibDwarf -> FindLibDW

* Update FindLibDW

* Rename FindLibElf -> FindLibELF

* Update FindLibELF

* Create FindElfutils

* Update FindLibDebuginfod

* Update DyninstElfUtils

* Update the CMakeLists to use new targets

* Use CMP0074 in updated Find modules

This enables use of <Package>_ROOT variables when find_package is
invoked.

* Provide default dummy interface target for ElfUtils::ElfUtils

Needed for non-Unix platforms.

* Fix rebase bug in CMakeLists.txt

* Whitespace

* Export DyninstElfUtils

* Forward QUIET flag to pkg_check_modules

* Forward version to pkg_check_modules

* Use lib from pkg-config, if found

* Clean up internal variables

* Simplify cache variable handling

* Whitespace

* Use full linkage name for libs returned by pkg-config

* Separate out dependent libraries in FindLibDW

Some platforms include libelf as a dependency, but IMPORTED_LOCATION accepts only a single entry. Store the rest in IMPORTED_LINK_DEPENDENT_LIBRARIES.

* Fix quoting bug in FindLibDW

* Fix lib check in FindLibDW

* Manually set PC_<XXX>_INCLUDE_DIRS when FindPkgConfig misses it

FindPkgConfig uses the output from `pkg-config --cflags-only-I <lib>` to set PC_<XXX>_INCLUDE_DIRS. Because libelf is usually in a system directory, pkg-config will return nothing for this. FindPkgConfig stores the actual includedir variable from the PC file, so we can fetch it from there.


[← Prev in Thread] Current Thread [Next in Thread→]
  • [DynInst_API:] [dyninst/dyninst] 7eb85a: Elfutils cmake modernization (#1333), Tim Haines <=