Updates for conda
This commit is contained in:
parent
0db934caf7
commit
d7c19a5544
@ -350,7 +350,12 @@ endif()
|
||||
if(CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF)
|
||||
target_compile_definitions(${target_name} PUBLIC CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF)
|
||||
if(CPPTRACE_USE_EXTERNAL_LIBDWARF)
|
||||
find_package(libdwarf REQUIRED)
|
||||
if(NOT CPPTRACE_FIND_LIBDWARF_WITH_PKGCONFIG)
|
||||
find_package(libdwarf REQUIRED)
|
||||
else()
|
||||
find_package(PkgConfig)
|
||||
pkg_check_modules(LIBDWARF REQUIRED libdwarf)
|
||||
endif()
|
||||
else()
|
||||
include(FetchContent)
|
||||
# First, dependencies: Zstd and zlib (currently relying on system zlib)
|
||||
@ -440,8 +445,13 @@ 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
|
||||
get_target_property(LIBDWARF_INTERFACE_INCLUDE_DIRECTORIES ${LIBDWARF_LIBRARIES} INTERFACE_INCLUDE_DIRECTORIES)
|
||||
set(CMAKE_REQUIRED_INCLUDES ${LIBDWARF_INTERFACE_INCLUDE_DIRECTORIES})
|
||||
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})
|
||||
else()
|
||||
set(CMAKE_REQUIRED_INCLUDES ${LIBDWARF_INCLUDE_DIRS})
|
||||
target_compile_definitions(${target_name} PRIVATE CPPTRACE_CONDA_LIBDWARF_WEIRDNESS)
|
||||
endif()
|
||||
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)
|
||||
|
||||
@ -159,9 +159,11 @@ if(PROJECT_IS_TOP_LEVEL)
|
||||
endif()
|
||||
|
||||
option(CPPTRACE_USE_EXTERNAL_LIBDWARF "" OFF)
|
||||
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)
|
||||
@ -174,4 +176,5 @@ mark_as_advanced(
|
||||
CPPTRACE_WERROR_BUILD
|
||||
CPPTRACE_CONAN
|
||||
CPPTRACE_VCPKG
|
||||
CPPTRACE_CONDA_LIBDWARF_WEIRDNESS
|
||||
)
|
||||
|
||||
@ -14,7 +14,9 @@ if(@CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF@)
|
||||
set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH_OLD}")
|
||||
unset(CMAKE_MODULE_PATH_OLD)
|
||||
endif()
|
||||
find_dependency(libdwarf REQUIRED)
|
||||
if(NOT @CPPTRACE_FIND_LIBDWARF_WITH_PKGCONFIG@)
|
||||
find_dependency(libdwarf REQUIRED)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# We cannot modify an existing IMPORT target
|
||||
|
||||
@ -13,8 +13,13 @@
|
||||
#include <libdwarf/libdwarf.h>
|
||||
#include <libdwarf/dwarf.h>
|
||||
#else
|
||||
#include <libdwarf.h>
|
||||
#include <dwarf.h>
|
||||
#ifndef CPPTRACE_CONDA_LIBDWARF_WEIRDNESS
|
||||
#include <libdwarf.h>
|
||||
#include <dwarf.h>
|
||||
#else
|
||||
#include <libdwarf.h>
|
||||
#include <libdwarf-0/dwarf.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
namespace cpptrace {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user