mirror of
https://github.com/chromium/crashpad.git
synced 2025-01-08 05:06:32 +08:00
cca10659c7
This was already addressed by disabling a warning, but was only effective for macOS and non-Android Linux. The comment for the existing fix, which is now being applied to Android: > The MOCK_METHODn() macros do not specify “override”, which triggers > this warning in users: “error: 'Method' overrides a member function > but is not marked 'override' > [-Werror,-Winconsistent-missing-override]”. Suppress these warnings, > and add -Wno-unknown-warning-option because only recent versions of > clang (trunk r220703 and later, version 3.6 and later) recognize it. Also see https://crbug.com/428099. The errors being encountered since 3983b80ca2fc were: util/file/file_reader_test.cc:48:23: error: 'Read' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-override] FileOperationResult Read(void* data, size_t size) { ^ util/file/file_reader.h:39:31: note: overridden virtual function is here virtual FileOperationResult Read(void* data, size_t size) = 0; ^ util/file/file_reader_test.cc:53:16: error: 'Seek' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-override] MOCK_METHOD2(Seek, FileOffset(FileOffset, int)); ^ util/file/file_seeker.h:31:22: note: overridden virtual function is here virtual FileOffset Seek(FileOffset offset, int whence) = 0; ^ Bug: crashpad:30 Test: crashpad_util_test FileReader.* Change-Id: I10894efdafc0da965e3780219f2e4c1f13f9b99e Reviewed-on: https://chromium-review.googlesource.com/458060 Reviewed-by: Scott Graham <scottmg@chromium.org> Commit-Queue: Mark Mentovai <mark@chromium.org>
207 lines
6.4 KiB
Python
207 lines
6.4 KiB
Python
# Copyright 2014 The Crashpad Authors. All rights reserved.
|
|
#
|
|
# Licensed 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.
|
|
|
|
{
|
|
'includes': [
|
|
'../../build/crashpad_dependencies.gypi',
|
|
],
|
|
'conditions': [
|
|
['1==1', { # Defer processing until crashpad_dependencies is set
|
|
'variables': {
|
|
'conditions': [
|
|
['crashpad_dependencies=="standalone"', {
|
|
'gmock_dir': 'gtest/googlemock',
|
|
}],
|
|
['crashpad_dependencies=="external"', {
|
|
'gmock_dir': '../../../../gmock',
|
|
}],
|
|
],
|
|
},
|
|
}],
|
|
],
|
|
'target_defaults': {
|
|
# gmock relies heavily on objects with static storage duration.
|
|
'xcode_settings': {
|
|
'WARNING_CFLAGS!': [
|
|
'-Wexit-time-destructors',
|
|
],
|
|
},
|
|
'cflags!': [
|
|
'-Wexit-time-destructors',
|
|
],
|
|
},
|
|
|
|
'targets': [
|
|
{
|
|
'target_name': 'gmock',
|
|
'type': 'static_library',
|
|
'dependencies': [
|
|
'gtest.gyp:gtest',
|
|
],
|
|
'include_dirs': [
|
|
'<(gmock_dir)',
|
|
'<(gmock_dir)/include',
|
|
],
|
|
'sources': [
|
|
'<(gmock_dir)/include/gmock/gmock-actions.h',
|
|
'<(gmock_dir)/include/gmock/gmock-cardinalities.h',
|
|
'<(gmock_dir)/include/gmock/gmock-generated-actions.h',
|
|
'<(gmock_dir)/include/gmock/gmock-generated-function-mockers.h',
|
|
'<(gmock_dir)/include/gmock/gmock-generated-matchers.h',
|
|
'<(gmock_dir)/include/gmock/gmock-generated-nice-strict.h',
|
|
'<(gmock_dir)/include/gmock/gmock-matchers.h',
|
|
'<(gmock_dir)/include/gmock/gmock-more-actions.h',
|
|
'<(gmock_dir)/include/gmock/gmock-more-matchers.h',
|
|
'<(gmock_dir)/include/gmock/gmock-spec-builders.h',
|
|
'<(gmock_dir)/include/gmock/gmock.h',
|
|
'<(gmock_dir)/include/gmock/internal/custom/gmock-generated-actions.h',
|
|
'<(gmock_dir)/include/gmock/internal/custom/gmock-matchers.h',
|
|
'<(gmock_dir)/include/gmock/internal/custom/gmock-port.h',
|
|
'<(gmock_dir)/include/gmock/internal/gmock-generated-internal-utils.h',
|
|
'<(gmock_dir)/include/gmock/internal/gmock-internal-utils.h',
|
|
'<(gmock_dir)/include/gmock/internal/gmock-port.h',
|
|
'<(gmock_dir)/src/gmock-all.cc',
|
|
'<(gmock_dir)/src/gmock-cardinalities.cc',
|
|
'<(gmock_dir)/src/gmock-internal-utils.cc',
|
|
'<(gmock_dir)/src/gmock-matchers.cc',
|
|
'<(gmock_dir)/src/gmock-spec-builders.cc',
|
|
'<(gmock_dir)/src/gmock.cc',
|
|
],
|
|
'sources!': [
|
|
'<(gmock_dir)/src/gmock-all.cc',
|
|
],
|
|
|
|
'direct_dependent_settings': {
|
|
'include_dirs': [
|
|
'<(gmock_dir)/include',
|
|
],
|
|
'conditions': [
|
|
['clang!=0', {
|
|
# The MOCK_METHODn() macros do not specify “override”, which
|
|
# triggers this warning in users: “error: 'Method' overrides a
|
|
# member function but is not marked 'override'
|
|
# [-Werror,-Winconsistent-missing-override]”. Suppress these
|
|
# warnings, and add -Wno-unknown-warning-option because only
|
|
# recent versions of clang (trunk r220703 and later, version
|
|
# 3.6 and later) recognize it.
|
|
'conditions': [
|
|
['OS=="mac"', {
|
|
'xcode_settings': {
|
|
'WARNING_CFLAGS': [
|
|
'-Wno-inconsistent-missing-override',
|
|
'-Wno-unknown-warning-option',
|
|
],
|
|
},
|
|
}],
|
|
['OS=="linux" or OS=="android"', {
|
|
'cflags': [
|
|
'-Wno-inconsistent-missing-override',
|
|
'-Wno-unknown-warning-option',
|
|
],
|
|
}],
|
|
],
|
|
}],
|
|
],
|
|
},
|
|
'export_dependent_settings': [
|
|
'gtest.gyp:gtest',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'gmock_main',
|
|
'type': 'static_library',
|
|
'dependencies': [
|
|
'gmock',
|
|
'gtest.gyp:gtest',
|
|
],
|
|
'sources': [
|
|
'<(gmock_dir)/src/gmock_main.cc',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'gmock_test_executable',
|
|
'type': 'none',
|
|
'dependencies': [
|
|
'gmock',
|
|
'gtest.gyp:gtest',
|
|
],
|
|
'direct_dependent_settings': {
|
|
'type': 'executable',
|
|
'include_dirs': [
|
|
'<(gmock_dir)',
|
|
],
|
|
},
|
|
'export_dependent_settings': [
|
|
'gmock',
|
|
'gtest.gyp:gtest',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'gmock_all_test',
|
|
'dependencies': [
|
|
'gmock_test_executable',
|
|
'gmock_main',
|
|
],
|
|
'include_dirs': [
|
|
'gtest/googletest',
|
|
],
|
|
'sources': [
|
|
'<(gmock_dir)/test/gmock-actions_test.cc',
|
|
'<(gmock_dir)/test/gmock-cardinalities_test.cc',
|
|
'<(gmock_dir)/test/gmock-generated-actions_test.cc',
|
|
'<(gmock_dir)/test/gmock-generated-function-mockers_test.cc',
|
|
'<(gmock_dir)/test/gmock-generated-internal-utils_test.cc',
|
|
'<(gmock_dir)/test/gmock-generated-matchers_test.cc',
|
|
'<(gmock_dir)/test/gmock-internal-utils_test.cc',
|
|
'<(gmock_dir)/test/gmock-matchers_test.cc',
|
|
'<(gmock_dir)/test/gmock-more-actions_test.cc',
|
|
'<(gmock_dir)/test/gmock-nice-strict_test.cc',
|
|
'<(gmock_dir)/test/gmock-port_test.cc',
|
|
'<(gmock_dir)/test/gmock-spec-builders_test.cc',
|
|
'<(gmock_dir)/test/gmock_test.cc',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'gmock_link_test',
|
|
'dependencies': [
|
|
'gmock_test_executable',
|
|
'gmock_main',
|
|
],
|
|
'sources': [
|
|
'<(gmock_dir)/test/gmock_link_test.cc',
|
|
'<(gmock_dir)/test/gmock_link_test.h',
|
|
'<(gmock_dir)/test/gmock_link2_test.cc',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'gmock_stress_test',
|
|
'dependencies': [
|
|
'gmock_test_executable',
|
|
],
|
|
'sources': [
|
|
'<(gmock_dir)/test/gmock_stress_test.cc',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'gmock_all_tests',
|
|
'type': 'none',
|
|
'dependencies': [
|
|
'gmock_all_test',
|
|
'gmock_link_test',
|
|
'gmock_stress_test',
|
|
],
|
|
},
|
|
],
|
|
}
|