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