aboutsummaryrefslogtreecommitdiff
path: root/cmake/Modules/FindZstd.cmake
diff options
context:
space:
mode:
authorElias Fleckenstein <eliasfleckenstein@web.de>2021-09-19 20:56:13 +0200
committerElias Fleckenstein <eliasfleckenstein@web.de>2021-09-19 20:56:13 +0200
commitc8900e169a1ddceec07a449f1ae7c4322ff02036 (patch)
tree5156605fb473d25786426eb6876ba2e7d3b7507b /cmake/Modules/FindZstd.cmake
parent950d2c9b3e10cbace9236e820c8119d1abb9e01f (diff)
parente0529da5c84f224c380e6d5e063392cb01f85683 (diff)
downloaddragonfireclient-c8900e169a1ddceec07a449f1ae7c4322ff02036.tar.xz
Merge branch 'master' of https://github.com/minetest/minetest
Diffstat (limited to 'cmake/Modules/FindZstd.cmake')
-rw-r--r--cmake/Modules/FindZstd.cmake25
1 files changed, 25 insertions, 0 deletions
diff --git a/cmake/Modules/FindZstd.cmake b/cmake/Modules/FindZstd.cmake
new file mode 100644
index 000000000..e28e1334b
--- /dev/null
+++ b/cmake/Modules/FindZstd.cmake
@@ -0,0 +1,25 @@
+mark_as_advanced(ZSTD_LIBRARY ZSTD_INCLUDE_DIR)
+
+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)
+