cpptrace/cmake/in/cpptrace-config-cmake.in
Jeremy Rifkin ed790ea82a
Improve zstd handling (#115)
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.
2024-04-28 23:56:27 -05:00

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()