annotate cmake/FindZSTD.cmake @ 411:d74f53299252

make: add basic GNU make support
author David Demelier <markand@malikania.fr>
date Fri, 07 Oct 2022 14:35:31 +0200
parents 764f65dfa46d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
313
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 # FindZSTD
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 # --------
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 #
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 # Find ZSTD library, this modules defines:
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 #
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 # ZSTD_INCLUDE_DIRS, where to find zstd.h
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 # ZSTD_LIBRARIES, where to find library
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 # ZSTD_FOUND, if it is found
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 # ZSTD_EXE, path to zstd executable if found
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 #
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 # The following imported targets will be available:
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 #
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 # ZSTD::ZSTD, if found.
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 # ZSTD::exe, alias to ZSTD_EXE
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 #
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
16
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 find_path(ZSTD_INCLUDE_DIR NAMES zstd.h)
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
18 find_library(ZSTD_LIBRARY NAMES libzstd zstd)
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 find_program(ZSTD_EXE NAMES zstd)
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
20
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 include(FindPackageHandleStandardArgs)
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
22
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 find_package_handle_standard_args(
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 ZSTD
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 FOUND_VAR ZSTD_FOUND
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 REQUIRED_VARS ZSTD_LIBRARY ZSTD_INCLUDE_DIR
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 )
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
28
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 if (ZSTD_FOUND)
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 set(ZSTD_LIBRARIES ${ZSTD_LIBRARY})
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 set(ZSTD_INCLUDE_DIRS ${ZSTD_INCLUDE_DIR})
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
32
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 if (NOT TARGET ZSTD::ZSTD)
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 add_library(ZSTD::ZSTD UNKNOWN IMPORTED)
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 set_target_properties(
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 ZSTD::ZSTD
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 PROPERTIES
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 IMPORTED_LINK_INTERFACE_LANGUAGES "C"
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 IMPORTED_LOCATION "${ZSTD_LIBRARY}"
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 INTERFACE_INCLUDE_DIRECTORIES "${ZSTD_INCLUDE_DIRS}"
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 )
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 endif ()
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
43
317
764f65dfa46d misc: various fixes for glibc
David Demelier <markand@malikania.fr>
parents: 313
diff changeset
44 if (ZSTD_EXE AND NOT TARGET ZSTD::exe)
313
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 add_executable(ZSTD::exe IMPORTED GLOBAL)
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 set_target_properties(ZSTD::exe PROPERTIES IMPORTED_LOCATION "${ZSTD_EXE}")
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 endif ()
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 endif ()
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
49
dbfe05b88627 cmake: bring back for good
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 mark_as_advanced(ZSTD_INCLUDE_DIR ZSTD_LIBRARY)