diff options
-rw-r--r-- | cmake/Modules/FindZstd.cmake | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/cmake/Modules/FindZstd.cmake b/cmake/Modules/FindZstd.cmake index 461e4d5a6..e28e1334b 100644 --- a/cmake/Modules/FindZstd.cmake +++ b/cmake/Modules/FindZstd.cmake @@ -4,6 +4,22 @@ find_path(ZSTD_INCLUDE_DIR NAMES zstd.h) find_library(ZSTD_LIBRARY NAMES zstd) +if(ZSTD_INCLUDE_DIR AND ZSTD_LIBRARY) + # Check that the API we use exists + include(CheckSymbolExists) + unset(HAVE_ZSTD_INITCSTREAM CACHE) + set(CMAKE_REQUIRED_INCLUDES ${ZSTD_INCLUDE_DIR}) + set(CMAKE_REQUIRED_LIBRARIES ${ZSTD_LIBRARY}) + check_symbol_exists(ZSTD_initCStream zstd.h HAVE_ZSTD_INITCSTREAM) + unset(CMAKE_REQUIRED_INCLUDES) + unset(CMAKE_REQUIRED_LIBRARIES) + + if(NOT HAVE_ZSTD_INITCSTREAM) + unset(ZSTD_INCLUDE_DIR CACHE) + unset(ZSTD_LIBRARY CACHE) + endif() +endif() + include(FindPackageHandleStandardArgs) find_package_handle_standard_args(Zstd DEFAULT_MSG ZSTD_LIBRARY ZSTD_INCLUDE_DIR) |