vmangos/dep/cpptrace/cmake/Findzstd.cmake
_BLU 28818aabd8
Replace ACE with native IO implementation (#2740)
- Replace ACE with native OS APIs.
- Remove TBB
- Update gSOAP from `2.7.10` (2008) to `2.8.135` (2024)
- Replace `backward.hpp` with `jeremy-rifkin/cpptrace`
2026-01-09 14:48:34 +01:00

51 lines
1.5 KiB
CMake

# Libdwarf needs zstd, cpptrace doesn't, and libdwarf has its own Findzstd but it doesn't define zstd::libzstd_static /
# zstd::libzstd_shared targets which leads to issues, necessitating a find_dependency(zstd) in cpptrace's cmake config
# and in order to support non-cmake-module installs we need to provide a Findzstd script.
# https://github.com/jeremy-rifkin/cpptrace/issues/112
# This will define
# zstd_FOUND
# zstd_INCLUDE_DIR
# zstd_LIBRARY
find_path(zstd_INCLUDE_DIR NAMES zstd.h)
find_library(zstd_LIBRARY_DEBUG NAMES zstdd zstd_staticd)
find_library(zstd_LIBRARY_RELEASE NAMES zstd zstd_static)
include(SelectLibraryConfigurations)
SELECT_LIBRARY_CONFIGURATIONS(zstd)
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(
zstd DEFAULT_MSG
zstd_LIBRARY zstd_INCLUDE_DIR
)
if(zstd_FOUND)
message(STATUS "Found Zstd: ${zstd_LIBRARY}")
endif()
mark_as_advanced(zstd_INCLUDE_DIR zstd_LIBRARY)
if(zstd_FOUND)
# just defining them the same... cmake will figure it out
if(NOT TARGET zstd::libzstd_static)
add_library(zstd::libzstd_static UNKNOWN IMPORTED)
set_target_properties(
zstd::libzstd_static
PROPERTIES
IMPORTED_LOCATION "${zstd_LIBRARIES}"
INTERFACE_INCLUDE_DIRECTORIES "${zstd_INCLUDE_DIR}"
)
endif()
if(NOT TARGET zstd::libzstd_shared)
add_library(zstd::libzstd_shared UNKNOWN IMPORTED)
set_target_properties(
zstd::libzstd_shared
PROPERTIES
IMPORTED_LOCATION "${zstd_LIBRARIES}"
INTERFACE_INCLUDE_DIRECTORIES "${zstd_INCLUDE_DIR}"
)
endif()
endif()