From 2592e630daa83bc66831d5f24bd54270e40d53dd Mon Sep 17 00:00:00 2001 From: Berkus Decker Date: Wed, 22 Feb 2017 19:52:42 +0200 Subject: [PATCH] Add libzip --- CMakeLists.txt | 1 + modules/FindLibZip.cmake | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 modules/FindLibZip.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 6cfb3d256..bf57f4a9a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,6 +10,7 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON) find_package(OpenAL REQUIRED) find_package(ZLIB REQUIRED) +find_package(LibZip REQUIRED) find_package(OpenSSL REQUIRED) find_package(LibLZMA REQUIRED) find_package(GTK3 3.0 REQUIRED gtk) diff --git a/modules/FindLibZip.cmake b/modules/FindLibZip.cmake new file mode 100644 index 000000000..d3832a850 --- /dev/null +++ b/modules/FindLibZip.cmake @@ -0,0 +1,38 @@ +# Finds libzip. +# +# This module defines: +# LIBZIP_INCLUDE_DIR_ZIP +# LIBZIP_INCLUDE_DIR_ZIPCONF +# LIBZIP_LIBRARY +# + +find_package(PkgConfig) +pkg_check_modules(PC_LIBZIP QUIET libzip) + +find_path(LIBZIP_INCLUDE_DIR_ZIP + NAMES zip.h + HINTS ${PC_LIBZIP_INCLUDE_DIRS}) + +find_path(LIBZIP_INCLUDE_DIR_ZIPCONF + NAMES zipconf.h + HINTS ${PC_LIBZIP_INCLUDE_DIRS}) + +find_library(LIBZIP_LIBRARY + NAMES zip) + +include(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS( + LIBZIP DEFAULT_MSG + LIBZIP_LIBRARY LIBZIP_INCLUDE_DIR_ZIP LIBZIP_INCLUDE_DIR_ZIPCONF) + +set(LIBZIP_VERSION 0) + +if (LIBZIP_INCLUDE_DIR_ZIPCONF) + FILE(READ "${LIBZIP_INCLUDE_DIR_ZIPCONF}/zipconf.h" _LIBZIP_VERSION_CONTENTS) + if (_LIBZIP_VERSION_CONTENTS) + STRING(REGEX REPLACE ".*#define LIBZIP_VERSION \"([0-9.]+)\".*" "\\1" LIBZIP_VERSION "${_LIBZIP_VERSION_CONTENTS}") + endif () +endif () + +set(LIBZIP_VERSION ${LIBZIP_VERSION} CACHE STRING "Version number of libzip") +