1diff --git a/cmake_modules/FindProtobufAlt.cmake b/cmake_modules/FindprotobufAlt.cmake
2similarity index 60%
3rename from cmake_modules/FindProtobufAlt.cmake
4rename to cmake_modules/FindprotobufAlt.cmake
5index 15fe1b4f2..19bdd6291 100644
6--- a/cmake_modules/FindProtobufAlt.cmake
7+++ b/cmake_modules/FindprotobufAlt.cmake
8@@ -16,24 +16,24 @@
9 # under the License.
10
11 if(ARROW_PROTOBUF_USE_SHARED)
12- set(Protobuf_USE_STATIC_LIBS OFF)
13+ set(protobuf_USE_STATIC_LIBS OFF)
14 else()
15- set(Protobuf_USE_STATIC_LIBS ON)
16+ set(protobuf_USE_STATIC_LIBS ON)
17 endif()
18
19 set(find_package_args)
20-if(ProtobufAlt_FIND_VERSION)
21- list(APPEND find_package_args ${ProtobufAlt_FIND_VERSION})
22+if(protobufAlt_FIND_VERSION)
23+ list(APPEND find_package_args ${protobufAlt_FIND_VERSION})
24 endif()
25-if(ProtobufAlt_FIND_QUIETLY)
26+if(protobufAlt_FIND_QUIETLY)
27 list(APPEND find_package_args QUIET)
28 endif()
29-find_package(Protobuf ${find_package_args})
30-set(ProtobufAlt_FOUND ${Protobuf_FOUND})
31-if(ProtobufAlt_FOUND)
32- set(ProtobufAlt_VERSION ${Protobuf_VERSION})
33- set(ProtobufAlt_VERSION_MAJOR ${Protobuf_VERSION_MAJOR})
34- set(ProtobufAlt_VERSION_MINOR ${Protobuf_VERSION_MINOR})
35- set(ProtobufAlt_VERSION_PATCH ${Protobuf_VERSION_PATCH})
36- set(ProtobufAlt_VERSION_TWEEK ${Protobuf_VERSION_TWEEK})
37+find_package(protobuf ${find_package_args} CONFIG)
38+set(protobufAlt_FOUND ${protobuf_FOUND})
39+if(protobufAlt_FOUND)
40+ set(protobufAlt_VERSION ${protobuf_VERSION})
41+ set(protobufAlt_VERSION_MAJOR ${protobuf_VERSION_MAJOR})
42+ set(protobufAlt_VERSION_MINOR ${protobuf_VERSION_MINOR})
43+ set(protobufAlt_VERSION_PATCH ${protobuf_VERSION_PATCH})
44+ set(protobufAlt_VERSION_TWEEK ${protobuf_VERSION_TWEEK})
45 endif()
46diff --git a/cmake_modules/ThirdpartyToolchain.cmake b/cmake_modules/ThirdpartyToolchain.cmake
47index 94f926039..8efc98323 100644
48--- a/cmake_modules/ThirdpartyToolchain.cmake
49+++ b/cmake_modules/ThirdpartyToolchain.cmake
50@@ -63,7 +63,7 @@ set(ARROW_THIRDPARTY_DEPENDENCIES
51 opentelemetry-cpp
52 ORC
53 re2
54- Protobuf
55+ protobuf
56 RapidJSON
57 Snappy
58 Substrait
59@@ -189,7 +189,7 @@ macro(build_dependency DEPENDENCY_NAME)
60 build_opentelemetry()
61 elseif("${DEPENDENCY_NAME}" STREQUAL "ORC")
62 build_orc()
63- elseif("${DEPENDENCY_NAME}" STREQUAL "Protobuf")
64+ elseif("${DEPENDENCY_NAME}" STREQUAL "protobuf")
65 build_protobuf()
66 elseif("${DEPENDENCY_NAME}" STREQUAL "RapidJSON")
67 build_rapidjson()
68@@ -1722,7 +1722,7 @@ if(ARROW_WITH_PROTOBUF)
69 # "3" for 3.12.0 are different. So 23.4 is rejected with 3.12.0. If
70 # we use FORCE_ANY_NEWER_VERSION here, we can bypass the check and
71 # use 23.4.
72- resolve_dependency(Protobuf
73+ resolve_dependency(protobuf
74 FORCE_ANY_NEWER_VERSION
75 TRUE
76 HAVE_ALT
77@@ -1732,7 +1732,7 @@ if(ARROW_WITH_PROTOBUF)
78 PC_PACKAGE_NAMES
79 protobuf)
80
81- if(NOT Protobuf_USE_STATIC_LIBS AND MSVC_TOOLCHAIN)
82+ if(NOT protobuf_USE_STATIC_LIBS AND MSVC_TOOLCHAIN)
83 add_definitions(-DPROTOBUF_USE_DLLS)
84 endif()
85
86@@ -1768,8 +1768,8 @@ if(ARROW_WITH_PROTOBUF)
87 message(STATUS "Found protoc: ${PROTOBUF_PROTOC_EXECUTABLE}")
88 get_target_property(PROTOBUF_TYPE ${ARROW_PROTOBUF_LIBPROTOBUF} TYPE)
89 if(NOT STREQUAL "INTERFACE_LIBRARY")
90- # Protobuf_PROTOC_LIBRARY is set by all versions of FindProtobuf.cmake
91- message(STATUS "Found libprotoc: ${Protobuf_PROTOC_LIBRARY}")
92+ # protobuf_PROTOC_LIBRARY is set by all versions of FindProtobuf.cmake
93+ message(STATUS "Found libprotoc: ${protobuf_PROTOC_LIBRARY}")
94 get_target_property(PROTOBUF_LIBRARY ${ARROW_PROTOBUF_LIBPROTOBUF} IMPORTED_LOCATION)
95 message(STATUS "Found libprotobuf: ${PROTOBUF_LIBRARY}")
96 message(STATUS "Found protobuf headers: ${PROTOBUF_INCLUDE_DIR}")
97@@ -3986,7 +3986,7 @@ endmacro()
98
99 if(ARROW_WITH_GRPC)
100 set(ARROW_GRPC_REQUIRED_VERSION "1.30.0")
101- if(NOT Protobuf_SOURCE STREQUAL gRPC_SOURCE)
102+ if(NOT protobuf_SOURCE STREQUAL gRPC_SOURCE)
103 # ARROW-15495: Protobuf/gRPC must come from the same source
104 message(STATUS "Forcing gRPC_SOURCE to Protobuf_SOURCE (${Protobuf_SOURCE})")
105 set(gRPC_SOURCE "${Protobuf_SOURCE}")