summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorJannik Beyerstedt <beyerstedt@consider-it.de>2023-06-19 15:29:47 (GMT)
committerBrad King <brad.king@kitware.com>2023-06-20 13:59:53 (GMT)
commitfc7dcc6a24ffd33b780104ebd9dbb115d306827e (patch)
tree9b5159e51594fc275946f7bafc656a0f0e7e3b51 /Modules
parent21d409534a6ee884db9740f1e16f7d3d6bb950d8 (diff)
downloadCMake-fc7dcc6a24ffd33b780104ebd9dbb115d306827e.zip
CMake-fc7dcc6a24ffd33b780104ebd9dbb115d306827e.tar.gz
CMake-fc7dcc6a24ffd33b780104ebd9dbb115d306827e.tar.bz2
FindProtobuf: Support new version number scheme
Protobuf changed it's version number scheme with version 21. The first number (usually the major version) is not synchronized between compiler and library version, but the second and third number are. See https://protobuf.dev/news/2022-05-06/ for more details. Fixes: #24847
Diffstat (limited to 'Modules')
-rw-r--r--Modules/FindProtobuf.cmake6
1 files changed, 5 insertions, 1 deletions
diff --git a/Modules/FindProtobuf.cmake b/Modules/FindProtobuf.cmake
index c73a2d8..b046fcc 100644
--- a/Modules/FindProtobuf.cmake
+++ b/Modules/FindProtobuf.cmake
@@ -499,7 +499,11 @@ if(Protobuf_INCLUDE_DIR)
math(EXPR _PROTOBUF_MAJOR_VERSION "${Protobuf_LIB_VERSION} / 1000000")
math(EXPR _PROTOBUF_MINOR_VERSION "${Protobuf_LIB_VERSION} / 1000 % 1000")
math(EXPR _PROTOBUF_SUBMINOR_VERSION "${Protobuf_LIB_VERSION} % 1000")
- set(Protobuf_VERSION "${_PROTOBUF_MAJOR_VERSION}.${_PROTOBUF_MINOR_VERSION}.${_PROTOBUF_SUBMINOR_VERSION}")
+ if (_PROTOBUF_MINOR_VERSION GREATER_EQUAL "21")
+ set(Protobuf_VERSION "${_PROTOBUF_MINOR_VERSION}.${_PROTOBUF_SUBMINOR_VERSION}")
+ else()
+ set(Protobuf_VERSION "${_PROTOBUF_MAJOR_VERSION}.${_PROTOBUF_MINOR_VERSION}.${_PROTOBUF_SUBMINOR_VERSION}")
+ endif()
if(Protobuf_DEBUG)
message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "