mirror of
https://github.com/reactos/CMake.git
synced 2024-12-08 11:56:25 +00:00
75e727855a
ZLIB_VERSION_STRING was "1.2.3.#define ZLIB_VERSION "1.2.3"" here, because the result of the matching for the tweak version was also appended if there was no TWEAK version and the regexp failed, which gives as result not an empty string, but the full string. Now it is only appended if the regexp matches. Alex
78 lines
3.1 KiB
CMake
78 lines
3.1 KiB
CMake
# - Find zlib
|
|
# Find the native ZLIB includes and library.
|
|
# Once done this will define
|
|
#
|
|
# ZLIB_INCLUDE_DIRS - where to find zlib.h, etc.
|
|
# ZLIB_LIBRARIES - List of libraries when using zlib.
|
|
# ZLIB_FOUND - True if zlib found.
|
|
#
|
|
# ZLIB_VERSION_STRING - The version of zlib found (x.y.z)
|
|
# ZLIB_VERSION_MAJOR - The major version of zlib
|
|
# ZLIB_VERSION_MINOR - The minor version of zlib
|
|
# ZLIB_VERSION_PATCH - The patch version of zlib
|
|
# ZLIB_VERSION_TWEAK - The tweak version of zlib
|
|
#
|
|
# The following variable are provided for backward compatibility
|
|
#
|
|
# ZLIB_MAJOR_VERSION - The major version of zlib
|
|
# ZLIB_MINOR_VERSION - The minor version of zlib
|
|
# ZLIB_PATCH_VERSION - The patch version of zlib
|
|
|
|
#=============================================================================
|
|
# Copyright 2001-2009 Kitware, Inc.
|
|
#
|
|
# Distributed under the OSI-approved BSD License (the "License");
|
|
# see accompanying file Copyright.txt for details.
|
|
#
|
|
# This software is distributed WITHOUT ANY WARRANTY; without even the
|
|
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
# See the License for more information.
|
|
#=============================================================================
|
|
# (To distribute this file outside of CMake, substitute the full
|
|
# License text for the above reference.)
|
|
|
|
FIND_PATH(ZLIB_INCLUDE_DIR zlib.h
|
|
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\Zlib;InstallPath]/include"
|
|
)
|
|
|
|
SET(ZLIB_NAMES z zlib zdll)
|
|
FIND_LIBRARY(ZLIB_LIBRARY
|
|
NAMES
|
|
${ZLIB_NAMES}
|
|
PATHS
|
|
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\Zlib;InstallPath]/lib"
|
|
)
|
|
MARK_AS_ADVANCED(ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
|
|
|
|
IF(ZLIB_INCLUDE_DIR AND EXISTS "${ZLIB_INCLUDE_DIR}/zlib.h")
|
|
FILE(STRINGS "${ZLIB_INCLUDE_DIR}/zlib.h" ZLIB_H REGEX "^#define ZLIB_VERSION \"[^\"]*\"$")
|
|
|
|
STRING(REGEX REPLACE "^.*ZLIB_VERSION \"([0-9]+).*$" "\\1" ZLIB_VERSION_MAJOR "${ZLIB_H}")
|
|
STRING(REGEX REPLACE "^.*ZLIB_VERSION \"[0-9]+\\.([0-9]+).*$" "\\1" ZLIB_VERSION_MINOR "${ZLIB_H}")
|
|
STRING(REGEX REPLACE "^.*ZLIB_VERSION \"[0-9]+\\.[0-9]+\\.([0-9]+).*$" "\\1" ZLIB_VERSION_PATCH "${ZLIB_H}")
|
|
SET(ZLIB_VERSION_STRING "${ZLIB_VERSION_MAJOR}.${ZLIB_VERSION_MINOR}.${ZLIB_VERSION_PATCH}")
|
|
|
|
# only append a TWEAK version if it exists:
|
|
SET(ZLIB_VERSION_TWEAK "")
|
|
IF( "${ZLIB_H}" MATCHES "^.*ZLIB_VERSION \"[0-9]+\\.[0-9]+\\.[0-9]+\\.([0-9]+).*$")
|
|
SET(ZLIB_VERSION_TWEAK "${CMAKE_MATCH_1}")
|
|
SET(ZLIB_VERSION_STRING "${ZLIB_VERSION_STRING}.${ZLIB_VERSION_TWEAK}")
|
|
ENDIF( "${ZLIB_H}" MATCHES "^.*ZLIB_VERSION \"[0-9]+\\.[0-9]+\\.[0-9]+\\.([0-9]+).*$")
|
|
|
|
SET(ZLIB_MAJOR_VERSION "${ZLIB_VERSION_MAJOR}")
|
|
SET(ZLIB_MINOR_VERSION "${ZLIB_VERSION_MINOR}")
|
|
SET(ZLIB_PATCH_VERSION "${ZLIB_VERSION_PATCH}")
|
|
ENDIF()
|
|
|
|
# handle the QUIETLY and REQUIRED arguments and set ZLIB_FOUND to TRUE if
|
|
# all listed variables are TRUE
|
|
INCLUDE(FindPackageHandleStandardArgs)
|
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(ZLIB REQUIRED_VARS ZLIB_INCLUDE_DIR ZLIB_LIBRARY
|
|
VERSION_VAR ZLIB_VERSION_STRING)
|
|
|
|
IF(ZLIB_FOUND)
|
|
SET(ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIR})
|
|
SET(ZLIB_LIBRARIES ${ZLIB_LIBRARY})
|
|
ENDIF()
|
|
|