Handle libdwarf's sporadic header placement better
This commit is contained in:
parent
4743e95988
commit
5d64a98d08
@ -371,15 +371,19 @@ if(CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF)
|
|||||||
# libdwarf::dwarf-shared under fetchcontent
|
# libdwarf::dwarf-shared under fetchcontent
|
||||||
target_link_libraries(${target_name} PRIVATE $<IF:$<TARGET_EXISTS:libdwarf::dwarf-static>,libdwarf::dwarf-static,$<IF:$<TARGET_EXISTS:libdwarf::dwarf-shared>,libdwarf::dwarf-shared,libdwarf::dwarf>>)
|
target_link_libraries(${target_name} PRIVATE $<IF:$<TARGET_EXISTS:libdwarf::dwarf-static>,libdwarf::dwarf-static,$<IF:$<TARGET_EXISTS:libdwarf::dwarf-shared>,libdwarf::dwarf-shared,libdwarf::dwarf>>)
|
||||||
endif()
|
endif()
|
||||||
|
include(CheckIncludeFileCXX)
|
||||||
|
# There seems to be no consistency at all about where libdwarf decides to place its headers........ Figure out if
|
||||||
|
# it's libdwarf/libdwarf.h and libdwarf/dwarf.h or just libdwarf.h and dwarf.h
|
||||||
|
CHECK_INCLUDE_FILE_CXX("libdwarf/libdwarf.h" LIBDWARF_IS_NESTED)
|
||||||
|
if(${LIBDWARF_IS_NESTED})
|
||||||
|
target_compile_definitions(${target_name} PRIVATE CPPTRACE_USE_NESTED_LIBDWARF_HEADER_PATH)
|
||||||
|
endif()
|
||||||
else()
|
else()
|
||||||
target_link_libraries(${target_name} PRIVATE libdwarf::dwarf-static)
|
target_link_libraries(${target_name} PRIVATE libdwarf::dwarf-static)
|
||||||
endif()
|
endif()
|
||||||
if(UNIX)
|
if(UNIX)
|
||||||
target_link_libraries(${target_name} PRIVATE ${CMAKE_DL_LIBS})
|
target_link_libraries(${target_name} PRIVATE ${CMAKE_DL_LIBS})
|
||||||
endif()
|
endif()
|
||||||
if(CPPTRACE_USE_NESTED_LIBDWARF_HEADER_PATH) # user override
|
|
||||||
target_compile_definitions(${target_name} PRIVATE CPPTRACE_USE_NESTED_LIBDWARF_HEADER_PATH)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CPPTRACE_GET_SYMBOLS_WITH_DBGHELP)
|
if(CPPTRACE_GET_SYMBOLS_WITH_DBGHELP)
|
||||||
|
|||||||
@ -158,7 +158,6 @@ if(PROJECT_IS_TOP_LEVEL)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
option(CPPTRACE_USE_EXTERNAL_LIBDWARF "" OFF)
|
option(CPPTRACE_USE_EXTERNAL_LIBDWARF "" OFF)
|
||||||
option(CPPTRACE_USE_NESTED_LIBDWARF_HEADER_PATH "" OFF)
|
|
||||||
option(CPPTRACE_CONAN "" OFF)
|
option(CPPTRACE_CONAN "" OFF)
|
||||||
option(CPPTRACE_VCPKG "" OFF)
|
option(CPPTRACE_VCPKG "" OFF)
|
||||||
option(CPPTRACE_SANITIZER_BUILD "" OFF)
|
option(CPPTRACE_SANITIZER_BUILD "" OFF)
|
||||||
@ -168,7 +167,6 @@ mark_as_advanced(
|
|||||||
CPPTRACE_ADDR2LINE_PATH
|
CPPTRACE_ADDR2LINE_PATH
|
||||||
CPPTRACE_ADDR2LINE_SEARCH_SYSTEM_PATH
|
CPPTRACE_ADDR2LINE_SEARCH_SYSTEM_PATH
|
||||||
CPPTRACE_SANITIZER_BUILD
|
CPPTRACE_SANITIZER_BUILD
|
||||||
CPPTRACE_USE_NESTED_LIBDWARF_HEADER_PATH
|
|
||||||
CPPTRACE_CONAN
|
CPPTRACE_CONAN
|
||||||
CPPTRACE_VCPKG
|
CPPTRACE_VCPKG
|
||||||
)
|
)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user