summaryrefslogtreecommitdiffstats
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
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
-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} ] "