speed-dreams-code/cmake/Findminizip.cmake
xavi92 84f03be13d cmake: Set INTERFACE_* properties
Otherwise, target_link_libraries would be unable to find the library
path when using a target name e.g.: rhash::rhash.


git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@9592 30fe4595-0a0c-4342-8851-515496e4dcbd

Former-commit-id: ac76245db02518aa3d922d3655827259bbabfa54
Former-commit-id: 0b2d4fddd88c70ed19861d3e2d53bce395e92947
2024-10-27 08:00:07 +00:00

53 lines
1.4 KiB
CMake

# Copyright (C) 2024 Xavier Del Campo Romero
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# file Copyright.txt or https://cmake.org/licensing for details.
find_path(minizip_INCLUDE_DIRS
NAMES
minizip/crypt.h
minizip/ioapi.h
minizip/mztools.h
minizip/unzip.h
minizip/zip.h
HINTS
ENV minizip_PATH
PATH_SUFFIXES
include
)
find_library(minizip_LIBRARIES
NAMES
minizip
HINTS
ENV minizip_PATH
PATH_SUFFIXES
lib
)
set(regex_path "${minizip_INCLUDE_DIRS}/minizip/unzip.h")
if(minizip_INCLUDE_DIRS AND EXISTS ${regex_path})
set(version_regex "^[ \t]+Version ([0-9\.]+).+$")
file(STRINGS ${regex_path} minizip_VERSION_LINE REGEX ${version_regex})
string(REGEX REPLACE ${version_regex} "\\1" minizip_VERSION "${minizip_VERSION_LINE}")
unset(minizip_VERSION_LINE)
unset(version_regex)
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(minizip
REQUIRED_VARS
minizip_LIBRARIES minizip_INCLUDE_DIRS
VERSION_VAR
minizip_VERSION
)
if(minizip_FOUND)
if(NOT TARGET minizip::minizip)
add_library(minizip::minizip INTERFACE IMPORTED)
set_target_properties(minizip::minizip PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${minizip_INCLUDE_DIRS}"
INTERFACE_LINK_LIBRARIES "${minizip_LIBRARIES}")
endif()
endif()