commit | 44c7ecf88e4218d287e1ab55236d28ca5ec19f87 | [log] [tgz] |
---|---|---|
author | aleloi <aleloi@webrtc.org> | Thu Nov 10 08:16:25 2016 -0800 |
committer | Commit bot <commit-bot@chromium.org> | Thu Nov 10 16:16:30 2016 +0000 |
tree | cc04c45481350312cd96326abf617aca55368a72 | |
parent | 647bf43dcb2fd16fccf276bd94dc4400728bb405 [diff] |
Added a public GN config to compile mock headers. Due to bugs.webrtc.org/216 code that includes //webrtc/modules/audio_device:mock_audio_device fails to compile on Windows unless a warning flag is switched off. It seems that googlemock changes types of overridden virtual method parameters from 'const int' to 'int', which causes the VS compiler to report an error. The problem was not solved by suppressing the flag wd4373 in //webrtc/modules/audio_device:mock_audio_device, because targets that include the headers are compiled separately. This CL adds the flag suppression to the GN variable |all_dependent_configs|. Then GN will apply the configuration to all reachable dependencies. This is needed to reduce clutter and extra conditions in dependency build targets. The reason for |all_dependent_configs| before |public_configs| is for a situation in which a targets headers include the headers from this target. Then dependencies of dependencies will have a copy of this targets' code after preprocessing, and compilation will fail. This will happen if we e.g. change mock_voice_engine to return a MockAudioTransport or MockAudioDevice. This change has been tested by compiling a dependent CL (https://codereview.webrtc.org/2454373002/) which uses these mocks on Windows without suppressing the flag. There is no GYP change, because test code has been removed from GYP. NOTRY=True BUG=webrtc:216 Review-Url: https://codereview.webrtc.org/2492713003 Cr-Commit-Position: refs/heads/master@{#15024}
WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others. This page is maintained by the Google Chrome team.
See http://www.webrtc.org/native-code/development for instructions on how to get started developing with the native code.