Remove CPPTRACE_CONDA_LIBDWARF_WEIRDNESS bodge and better support libdwarf via pkgconfig, resolves #131

This commit is contained in:
Jeremy 2024-05-28 21:32:54 -05:00
parent 2499fa4a67
commit 9d1c592f0c
No known key found for this signature in database
GPG Key ID: 19AA8270105E8EB4
3 changed files with 6 additions and 14 deletions

View File

@ -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 # it's libdwarf/libdwarf.h and libdwarf/dwarf.h or just libdwarf.h and dwarf.h
include(CheckIncludeFileCXX) include(CheckIncludeFileCXX)
# libdwarf's cmake doesn't properly set variables to indicate where its libraries live # libdwarf's cmake doesn't properly set variables to indicate where its libraries live
if(NOT CPPTRACE_CONDA_LIBDWARF_WEIRDNESS) if(NOT CPPTRACE_FIND_LIBDWARF_WITH_PKGCONFIG)
get_target_property(LIBDWARF_INTERFACE_INCLUDE_DIRECTORIES ${LIBDWARF_LIBRARIES} INTERFACE_INCLUDE_DIRECTORIES) get_target_property(LIBDWARF_INCLUDE_DIRS ${LIBDWARF_LIBRARIES} INTERFACE_INCLUDE_DIRECTORIES)
set(CMAKE_REQUIRED_INCLUDES ${LIBDWARF_INTERFACE_INCLUDE_DIRECTORIES})
else() else()
set(CMAKE_REQUIRED_INCLUDES ${LIBDWARF_INCLUDE_DIRS}) target_include_directories(${target_name} PRIVATE ${LIBDWARF_INCLUDE_DIRS})
target_compile_definitions(${target_name} PRIVATE CPPTRACE_CONDA_LIBDWARF_WEIRDNESS)
endif() endif()
set(CMAKE_REQUIRED_INCLUDES ${LIBDWARF_INCLUDE_DIRS})
CHECK_INCLUDE_FILE_CXX("libdwarf/libdwarf.h" LIBDWARF_IS_NESTED) CHECK_INCLUDE_FILE_CXX("libdwarf/libdwarf.h" LIBDWARF_IS_NESTED)
CHECK_INCLUDE_FILE_CXX("libdwarf.h" LIBDWARF_IS_NOT_NESTED) CHECK_INCLUDE_FILE_CXX("libdwarf.h" LIBDWARF_IS_NOT_NESTED)
# check_include_file("libdwarf/libdwarf.h" LIBDWARF_IS_NESTED) # check_include_file("libdwarf/libdwarf.h" LIBDWARF_IS_NESTED)

View File

@ -163,7 +163,6 @@ option(CPPTRACE_FIND_LIBDWARF_WITH_PKGCONFIG "" OFF)
option(CPPTRACE_USE_EXTERNAL_ZSTD "" OFF) option(CPPTRACE_USE_EXTERNAL_ZSTD "" OFF)
option(CPPTRACE_CONAN "" OFF) option(CPPTRACE_CONAN "" OFF)
option(CPPTRACE_VCPKG "" OFF) option(CPPTRACE_VCPKG "" OFF)
option(CPPTRACE_CONDA_LIBDWARF_WEIRDNESS "" OFF)
option(CPPTRACE_SANITIZER_BUILD "" OFF) option(CPPTRACE_SANITIZER_BUILD "" OFF)
option(CPPTRACE_WERROR_BUILD "" OFF) option(CPPTRACE_WERROR_BUILD "" OFF)
option(CPPTRACE_POSITION_INDEPENDENT_CODE "" ON) option(CPPTRACE_POSITION_INDEPENDENT_CODE "" ON)
@ -178,7 +177,6 @@ mark_as_advanced(
CPPTRACE_WERROR_BUILD CPPTRACE_WERROR_BUILD
CPPTRACE_CONAN CPPTRACE_CONAN
CPPTRACE_VCPKG CPPTRACE_VCPKG
CPPTRACE_CONDA_LIBDWARF_WEIRDNESS
CPPTRACE_IS_GH_ACTIONS CPPTRACE_IS_GH_ACTIONS
CPPTRACE_USE_EXTERNAL_GTEST CPPTRACE_USE_EXTERNAL_GTEST
) )

View File

@ -13,13 +13,8 @@
#include <libdwarf/libdwarf.h> #include <libdwarf/libdwarf.h>
#include <libdwarf/dwarf.h> #include <libdwarf/dwarf.h>
#else #else
#ifndef CPPTRACE_CONDA_LIBDWARF_WEIRDNESS
#include <libdwarf.h> #include <libdwarf.h>
#include <dwarf.h> #include <dwarf.h>
#else
#include <libdwarf.h>
#include <libdwarf-0/dwarf.h>
#endif
#endif #endif
namespace cpptrace { namespace cpptrace {