From 9d1c592f0ce87bb52df7c0abf5955beb0dc1b7f5 Mon Sep 17 00:00:00 2001 From: Jeremy <51220084+jeremy-rifkin@users.noreply.github.com> Date: Tue, 28 May 2024 21:32:54 -0500 Subject: [PATCH] Remove CPPTRACE_CONDA_LIBDWARF_WEIRDNESS bodge and better support libdwarf via pkgconfig, resolves #131 --- CMakeLists.txt | 9 ++++----- cmake/OptionVariables.cmake | 2 -- src/utils/dwarf.hpp | 9 ++------- 3 files changed, 6 insertions(+), 14 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d1e1d91..2f8b80d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -466,13 +466,12 @@ if(CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF) # it's libdwarf/libdwarf.h and libdwarf/dwarf.h or just libdwarf.h and dwarf.h include(CheckIncludeFileCXX) # libdwarf's cmake doesn't properly set variables to indicate where its libraries live - if(NOT CPPTRACE_CONDA_LIBDWARF_WEIRDNESS) - get_target_property(LIBDWARF_INTERFACE_INCLUDE_DIRECTORIES ${LIBDWARF_LIBRARIES} INTERFACE_INCLUDE_DIRECTORIES) - set(CMAKE_REQUIRED_INCLUDES ${LIBDWARF_INTERFACE_INCLUDE_DIRECTORIES}) + if(NOT CPPTRACE_FIND_LIBDWARF_WITH_PKGCONFIG) + get_target_property(LIBDWARF_INCLUDE_DIRS ${LIBDWARF_LIBRARIES} INTERFACE_INCLUDE_DIRECTORIES) else() - set(CMAKE_REQUIRED_INCLUDES ${LIBDWARF_INCLUDE_DIRS}) - target_compile_definitions(${target_name} PRIVATE CPPTRACE_CONDA_LIBDWARF_WEIRDNESS) + target_include_directories(${target_name} PRIVATE ${LIBDWARF_INCLUDE_DIRS}) endif() + set(CMAKE_REQUIRED_INCLUDES ${LIBDWARF_INCLUDE_DIRS}) CHECK_INCLUDE_FILE_CXX("libdwarf/libdwarf.h" LIBDWARF_IS_NESTED) CHECK_INCLUDE_FILE_CXX("libdwarf.h" LIBDWARF_IS_NOT_NESTED) # check_include_file("libdwarf/libdwarf.h" LIBDWARF_IS_NESTED) diff --git a/cmake/OptionVariables.cmake b/cmake/OptionVariables.cmake index 0d2366a..6d18d02 100644 --- a/cmake/OptionVariables.cmake +++ b/cmake/OptionVariables.cmake @@ -163,7 +163,6 @@ option(CPPTRACE_FIND_LIBDWARF_WITH_PKGCONFIG "" OFF) option(CPPTRACE_USE_EXTERNAL_ZSTD "" OFF) option(CPPTRACE_CONAN "" OFF) option(CPPTRACE_VCPKG "" OFF) -option(CPPTRACE_CONDA_LIBDWARF_WEIRDNESS "" OFF) option(CPPTRACE_SANITIZER_BUILD "" OFF) option(CPPTRACE_WERROR_BUILD "" OFF) option(CPPTRACE_POSITION_INDEPENDENT_CODE "" ON) @@ -178,7 +177,6 @@ mark_as_advanced( CPPTRACE_WERROR_BUILD CPPTRACE_CONAN CPPTRACE_VCPKG - CPPTRACE_CONDA_LIBDWARF_WEIRDNESS CPPTRACE_IS_GH_ACTIONS CPPTRACE_USE_EXTERNAL_GTEST ) diff --git a/src/utils/dwarf.hpp b/src/utils/dwarf.hpp index ab3655d..28bbb9e 100644 --- a/src/utils/dwarf.hpp +++ b/src/utils/dwarf.hpp @@ -13,13 +13,8 @@ #include #include #else - #ifndef CPPTRACE_CONDA_LIBDWARF_WEIRDNESS - #include - #include - #else - #include - #include - #endif + #include + #include #endif namespace cpptrace {