Mercurial > molko
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 |
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) |