diff --git i/cpp/CMakeLists.txt w/cpp/CMakeLists.txt
index 96def5c8f..304a1a2af 100644
--- i/cpp/CMakeLists.txt
+++ w/cpp/CMakeLists.txt
@@ -170,13 +170,11 @@ if (USE_RE2)
 endif ()
 
 if (USE_PROTOBUF_LITE)
-  find_required_library (PROTOBUF google/protobuf/message_lite.h protobuf-lite
-                         "Google Protocol Buffers")
-  check_library_version (PC_PROTOBUF protobuf-lite>=2.4)
+  find_package (Protobuf CONFIG)
+  set (PROTOBUF_LIB protobuf::libprotobuf-lite)
 else ()
-  find_required_library (PROTOBUF google/protobuf/message_lite.h protobuf
-                         "Google Protocol Buffers")
-  check_library_version (PC_PROTOBUF protobuf>=2.4)
+  find_package (Protobuf CONFIG)
+  set (PROTOBUF_LIB protobuf::libprotobuf)
 endif ()
 
 find_required_library (ICU_UC unicode/uchar.h icuuc "ICU")
