mirror of
https://github.com/apache/impala.git
synced 2025-12-19 18:12:08 -05:00
This fixes a few different CMake warnings:
1. This removes cmake_minimum_required invocations except for the
top-most CMakeLists.txt. This eliminates the warnings like this:
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
Moving to a later version also required setting CMAKE_ENABLE_EXPORTS
to continue exporting symbols.
2. This modifies the module names so that they match the corresponding
module names from Find*.cmake. This is mostly dealing with case
differences. This address warnings like:
The package name passed to `find_package_handle_standard_args` (PROTOBUF)
does not match the name of the calling package (Protobuf). This can lead
to problems in calling code that expects `find_package` result variables
(e.g., `_FOUND`) to follow a certain pattern.
This fixed the detection logic for KerberosPrograms, and so it required
adding more Kerberos packages to bin/bootstrap_build.sh.
3. This adds a missing .cc suffix. This addresses the following warning:
CMake Warning (dev) at be/src/util/CMakeLists.txt:141 (add_library):
Policy CMP0115 is not set: Source file extensions must be explicit. Run
"cmake --help-policy CMP0115" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.
These fixes mostly match how these warnings were handled in
Apache Kudu.
Testing:
- Ran GVO
Change-Id: I2a97dd07cdd0831e90882a2035415ac71d670147
Reviewed-on: http://gerrit.cloudera.org:8080/18444
Reviewed-by: Joe McDonnell <joemcdonnell@cloudera.com>
Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
54 lines
2.2 KiB
CMake
54 lines
2.2 KiB
CMake
# Licensed to the Apache Software Foundation (ASF) under one
|
|
# or more contributor license agreements. See the NOTICE file
|
|
# distributed with this work for additional information
|
|
# regarding copyright ownership. The ASF licenses this file
|
|
# to you under the Apache License, Version 2.0 (the
|
|
# "License"); you may not use this file except in compliance
|
|
# with the License. You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing,
|
|
# software distributed under the License is distributed on an
|
|
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
# KIND, either express or implied. See the License for the
|
|
# specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
add_custom_target(proto-deps)
|
|
|
|
set(PROTOBUF_OUTPUT_DIR ${CMAKE_SOURCE_DIR}/be/generated-sources/gen-cpp/)
|
|
|
|
foreach(pb_src common row_batch planner)
|
|
string(TOUPPER ${pb_src} _PB_SRC_UPPER)
|
|
set(_PROTO_SRCS ${_PB_SRC_UPPER}_PROTO_SRCS)
|
|
set(_PROTO_HDRS ${_PB_SRC_UPPER}_PROTO_HDRS)
|
|
set(_PROTO_TGTS ${_PB_SRC_UPPER}_PROTO_TGTS)
|
|
set(_INPUT_SRC ${pb_src}.proto)
|
|
PROTOBUF_GENERATE_CPP(
|
|
${_PROTO_SRCS} ${_PROTO_HDRS} ${_PROTO_TGTS}
|
|
SOURCE_ROOT ${CMAKE_CURRENT_SOURCE_DIR}
|
|
BINARY_ROOT ${PROTOBUF_OUTPUT_DIR}
|
|
PROTO_FILES ${_INPUT_SRC})
|
|
add_custom_target(${pb_src}_proto DEPENDS ${${_PROTO_TGTS}})
|
|
add_dependencies(proto-deps ${pb_src}_proto)
|
|
set(${_PROTO_SRCS} ${${_PROTO_SRCS}} PARENT_SCOPE)
|
|
endforeach()
|
|
|
|
foreach(pb_src data_stream_service control_service rpc_test statestore_service
|
|
admission_control_service)
|
|
string(TOUPPER ${pb_src} _PB_SRC_UPPER)
|
|
set(_PROTO_SRCS ${_PB_SRC_UPPER}_PROTO_SRCS)
|
|
set(_PROTO_HDRS ${_PB_SRC_UPPER}_PROTO_HDRS)
|
|
set(_PROTO_TGTS ${_PB_SRC_UPPER}_PROTO_TGTS)
|
|
set(_INPUT_SRC ${pb_src}.proto)
|
|
KRPC_GENERATE(
|
|
${_PROTO_SRCS} ${_PROTO_HDRS} ${_PROTO_TGTS}
|
|
SOURCE_ROOT ${CMAKE_CURRENT_SOURCE_DIR}
|
|
BINARY_ROOT ${PROTOBUF_OUTPUT_DIR}
|
|
PROTO_FILES ${_INPUT_SRC})
|
|
add_custom_target(${pb_src}_proto DEPENDS ${${_PROTO_TGTS}})
|
|
add_dependencies(proto-deps ${pb_src}_proto)
|
|
set(${_PROTO_SRCS} ${${_PROTO_SRCS}} PARENT_SCOPE)
|
|
endforeach()
|