This PR adds a Findzstd.cmake script to cpptrace's install so that `find_dependency(zstd)` can succeed on installations that don't include zstdConfig.cmake/zstd-config.cmake. The reason `find_dependency(zstd)` is needed in cpptrace's config, despite `find_dependency(zstd)` also being in libdwarf's cmake and cpptrace not needing zstd, is that libdwarf's cmake doesn't define `zstd::libzstd_static` / `zstd::libzstd_shared` targets. This should fix #112.
31 lines
873 B
Plaintext
31 lines
873 B
Plaintext
# Init @ variables before doing anything else
|
|
@PACKAGE_INIT@
|
|
|
|
# Dependencies
|
|
if(@CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF@)
|
|
include(CMakeFindDependencyMacro)
|
|
# we don't go the Findzstd.cmake route on vcpkg
|
|
if(@CPPTRACE_VCPKG@)
|
|
find_dependency(zstd CONFIG REQUIRED)
|
|
else()
|
|
set(CMAKE_MODULE_PATH_OLD "${CMAKE_MODULE_PATH}")
|
|
set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_LIST_DIR}")
|
|
find_dependency(zstd)
|
|
set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH_OLD}")
|
|
unset(CMAKE_MODULE_PATH_OLD)
|
|
endif()
|
|
find_dependency(libdwarf REQUIRED)
|
|
endif()
|
|
|
|
# We cannot modify an existing IMPORT target
|
|
if(NOT TARGET cpptrace::cpptrace)
|
|
|
|
# import targets
|
|
include("${CMAKE_CURRENT_LIST_DIR}/@package_name@-targets.cmake")
|
|
|
|
endif()
|
|
|
|
if(@CPPTRACE_STATIC_DEFINE@)
|
|
target_compile_definitions(cpptrace::cpptrace INTERFACE CPPTRACE_STATIC_DEFINE)
|
|
endif()
|