From d3e87d70ec7dd9a0509c178d8ed20ec6bfd9f67d Mon Sep 17 00:00:00 2001 From: Markus Wick Date: Thu, 1 Apr 2021 17:23:46 +0200 Subject: externals: Fix case spelling of libzip. CMake is case senstive, so Libzip vs LIBZIP was a bug. Upstream calls themself libzip, so let's pick this naming. --- externals/find-modules/Findlibzip.cmake | 72 +++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 externals/find-modules/Findlibzip.cmake (limited to 'externals/find-modules/Findlibzip.cmake') diff --git a/externals/find-modules/Findlibzip.cmake b/externals/find-modules/Findlibzip.cmake new file mode 100644 index 000000000..8934de3b8 --- /dev/null +++ b/externals/find-modules/Findlibzip.cmake @@ -0,0 +1,72 @@ + +find_package(PkgConfig QUIET) +pkg_check_modules(PC_libzip QUIET libzip) + +find_path(libzip_INCLUDE_DIR + NAMES zip.h + PATHS ${PC_libzip_INCLUDE_DIRS} + "$ENV{LIB_DIR}/include" + "$ENV{INCLUDE}" + /usr/local/include + /usr/include +) +find_path(libzip_INCLUDE_DIR_ZIPCONF + NAMES zipconf.h + HINTS ${PC_libzip_INCLUDE_DIRS} + "$ENV{LIB_DIR}/include" + "$ENV{LIB_DIR}/lib/libzip/include" + "$ENV{LIB}/lib/libzip/include" + /usr/local/lib/libzip/include + /usr/lib/libzip/include + /usr/local/include + /usr/include + "$ENV{INCLUDE}" +) +find_library(libzip_LIBRARY + NAMES zip + PATHS ${PC_libzip_LIBRARY_DIRS} + "$ENV{LIB_DIR}/lib" "$ENV{LIB}" /usr/local/lib /usr/lib +) + +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() + unset(_libzip_VERSION_CONTENTS) +endif() + +set(libzip_VERSION ${libzip_VERSION} CACHE STRING "Version number of libzip") + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(libzip + FOUND_VAR libzip_FOUND + REQUIRED_VARS + libzip_LIBRARY + libzip_INCLUDE_DIR + libzip_INCLUDE_DIR_ZIPCONF + libzip_VERSION + VERSION_VAR libzip_VERSION +) + +if(libzip_FOUND) + set(libzip_LIBRARIES ${libzip_LIBRARY}) + set(libzip_INCLUDE_DIRS ${libzip_INCLUDE_DIR}) + set(libzip_DEFINITIONS ${PC_libzip_CFLAGS_OTHER}) +endif() + +if(libzip_FOUND AND NOT TARGET libzip::libzip) + add_library(libzip::libzip UNKNOWN IMPORTED) + set_target_properties(libzip::libzip PROPERTIES + IMPORTED_LOCATION "${libzip_LIBRARY}" + INTERFACE_COMPILE_OPTIONS "${PC_libzip_CFLAGS_OTHER}" + INTERFACE_INCLUDE_DIRECTORIES "${libzip_INCLUDE_DIR}" + ) +endif() + +mark_as_advanced( + libzip_INCLUDE_DIR + libzip_INCLUDE_DIR_ZIPCONF + libzip_LIBRARY + libzip_VERSION +) -- cgit v1.2.3