FindZLIB: Fix extraction of two-component version number 1.3
Fixes: #25200
This commit is contained in:
parent
1d1d905e15
commit
9034394950
@ -175,25 +175,24 @@ unset(ZLIB_NAMES_DEBUG)
|
||||
mark_as_advanced(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:
|
||||
file(STRINGS "${ZLIB_INCLUDE_DIR}/zlib.h" ZLIB_H REGEX "^#define ZLIB_VERSION \"[^\"]*\"$")
|
||||
if(ZLIB_H MATCHES "ZLIB_VERSION \"(([0-9]+)\\.([0-9]+)(\\.([0-9]+)(\\.([0-9]+))?)?)")
|
||||
set(ZLIB_VERSION_STRING "${CMAKE_MATCH_1}")
|
||||
set(ZLIB_VERSION_MAJOR "${CMAKE_MATCH_2}")
|
||||
set(ZLIB_VERSION_MINOR "${CMAKE_MATCH_3}")
|
||||
set(ZLIB_VERSION_PATCH "${CMAKE_MATCH_5}")
|
||||
set(ZLIB_VERSION_TWEAK "${CMAKE_MATCH_7}")
|
||||
else()
|
||||
set(ZLIB_VERSION_STRING "")
|
||||
set(ZLIB_VERSION_MAJOR "")
|
||||
set(ZLIB_VERSION_MINOR "")
|
||||
set(ZLIB_VERSION_PATCH "")
|
||||
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}")
|
||||
string(APPEND ZLIB_VERSION_STRING ".${ZLIB_VERSION_TWEAK}")
|
||||
endif()
|
||||
|
||||
set(ZLIB_MAJOR_VERSION "${ZLIB_VERSION_MAJOR}")
|
||||
set(ZLIB_MINOR_VERSION "${ZLIB_VERSION_MINOR}")
|
||||
set(ZLIB_PATCH_VERSION "${ZLIB_VERSION_PATCH}")
|
||||
|
||||
set(ZLIB_VERSION ${ZLIB_VERSION_STRING})
|
||||
endif()
|
||||
set(ZLIB_MAJOR_VERSION "${ZLIB_VERSION_MAJOR}")
|
||||
set(ZLIB_MINOR_VERSION "${ZLIB_VERSION_MINOR}")
|
||||
set(ZLIB_PATCH_VERSION "${ZLIB_VERSION_PATCH}")
|
||||
set(ZLIB_VERSION "${ZLIB_VERSION_STRING}")
|
||||
endif()
|
||||
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
|
||||
|
Loading…
Reference in New Issue
Block a user