summaryrefslogtreecommitdiffstats
path: root/cmake/modules/FindZip.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/modules/FindZip.cmake')
-rw-r--r--cmake/modules/FindZip.cmake46
1 files changed, 46 insertions, 0 deletions
diff --git a/cmake/modules/FindZip.cmake b/cmake/modules/FindZip.cmake
new file mode 100644
index 0000000..ecac262
--- /dev/null
+++ b/cmake/modules/FindZip.cmake
@@ -0,0 +1,46 @@
1#.rst:
2# FindZip
3# -----------
4# Finds the Zip library
5#
6# This will will define the following variables::
7#
8# ZIP_FOUND - system has Zip
9# ZIP_INCLUDE_DIRS - the Zip include directory
10# ZIP_LIBRARIES - the Zip libraries
11# ZIP_DEFINITIONS - the Zip libraries
12#
13# and the following imported targets::
14#
15# ZIP::ZIP - The Zip library
16
17if(PKG_CONFIG_FOUND)
18 pkg_check_modules(PC_ZIP libzip QUIET)
19endif()
20
21find_path(ZIP_INCLUDE_DIR zip.h
22 PATHS ${PC_ZIP_INCLUDEDIR})
23find_library(ZIP_LIBRARY NAMES zip
24 PATHS ${PC_ZIP_LIBDIR})
25set(ZIP_VERSION ${PC_ZIP_VERSION})
26
27include(FindPackageHandleStandardArgs)
28find_package_handle_standard_args(Zip
29 REQUIRED_VARS ZIP_LIBRARY ZIP_INCLUDE_DIR
30 VERSION_VAR ZIP_VERSION)
31
32if(ZIP_FOUND)
33 set(ZIP_LIBRARIES ${ZIP_LIBRARY})
34 set(ZIP_INCLUDE_DIRS ${ZIP_INCLUDE_DIR})
35 set(ZIP_DEFINITIONS "${PC_ZIP_CFLAGS}")
36
37 if(NOT TARGET ZIP::ZIP)
38 add_library(ZIP::ZIP UNKNOWN IMPORTED)
39 set_target_properties(ZIP::ZIP PROPERTIES
40 IMPORTED_LOCATION "${ZIP_LIBRARY}"
41 INTERFACE_INCLUDE_DIRECTORIES "${ZIP_INCLUDE_DIR}"
42 INTERFACE_COMPILE_DEFINITIONS "${PC_ZIP_CFLAGS}")
43 endif()
44endif()
45
46mark_as_advanced(ZIP_INCLUDE_DIR ZIP_LIBRARY)