annotate cmake/FindZSTD.cmake @ 295:aec448037320

rpg: add support for compressed tilesets/maps
author David Demelier <markand@malikania.fr>
date Wed, 10 Mar 2021 16:40:02 +0100
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
295
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 #
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 # FindZSTD.cmake -- find ZSTD C library
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 #
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 # Copyright (c) 2020 David Demelier <markand@malikania.fr>
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 #
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 # Permission to use, copy, modify, and/or distribute this software for any
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 # purpose with or without fee is hereby granted, provided that the above
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 # copyright notice and this permission notice appear in all copies.
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 #
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 #
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
18 # Find ZSTD library, this modules defines:
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 #
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 # ZSTD_INCLUDE_DIRS, where to find zstd.h
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 # ZSTD_LIBRARIES, where to find library
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 # ZSTD_FOUND, if it is found
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 #
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 # The following imported targets will be available:
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 #
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 # ZSTD::ZSTD, if found.
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 #
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
28
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 find_path(ZSTD_INCLUDE_DIR NAMES zstd.h)
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 find_library(ZSTD_LIBRARY NAMES libzstd zstd)
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
31
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 include(FindPackageHandleStandardArgs)
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
33
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 find_package_handle_standard_args(
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 ZSTD
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 FOUND_VAR ZSTD_FOUND
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 REQUIRED_VARS ZSTD_LIBRARY ZSTD_INCLUDE_DIR
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 )
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
39
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 if (ZSTD_FOUND)
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 set(ZSTD_LIBRARIES ${ZSTD_LIBRARY})
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 set(ZSTD_INCLUDE_DIRS ${ZSTD_INCLUDE_DIR})
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
43
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 if (NOT TARGET ZSTD::ZSTD)
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 add_library(ZSTD::ZSTD UNKNOWN IMPORTED)
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 set_target_properties(
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 ZSTD::ZSTD
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 PROPERTIES
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 IMPORTED_LINK_INTERFACE_LANGUAGES "C"
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 IMPORTED_LOCATION "${ZSTD_LIBRARY}"
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 INTERFACE_INCLUDE_DIRECTORIES "${ZSTD_INCLUDE_DIRS}"
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 )
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 endif ()
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 endif ()
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
55
aec448037320 rpg: add support for compressed tilesets/maps
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 mark_as_advanced(ZSTD_INCLUDE_DIR ZSTD_LIBRARY)