forked from Mirrorlandia_minetest/minetest
Check for required libzstd APIs in cmake
It's very unlikely that anyone uses a zstd version this old, but if they do fail early.
This commit is contained in:
parent
d1624a5521
commit
70dafcf5da
@ -4,6 +4,22 @@ find_path(ZSTD_INCLUDE_DIR NAMES zstd.h)
|
|||||||
|
|
||||||
find_library(ZSTD_LIBRARY NAMES zstd)
|
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)
|
include(FindPackageHandleStandardArgs)
|
||||||
find_package_handle_standard_args(Zstd DEFAULT_MSG ZSTD_LIBRARY ZSTD_INCLUDE_DIR)
|
find_package_handle_standard_args(Zstd DEFAULT_MSG ZSTD_LIBRARY ZSTD_INCLUDE_DIR)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user