| Index: build/common.gypi
|
| ===================================================================
|
| --- build/common.gypi (revision 13066)
|
| +++ build/common.gypi (working copy)
|
| @@ -25,6 +25,12 @@
|
|
|
| # Override branding to select the desired branding flavor.
|
| 'branding%': 'Chromium',
|
| +
|
| + # Set to 1 to enable code coverage. In addition to build changes
|
| + # (e.g. extra CFLAGS), also creates a new target in the src/chrome
|
| + # project file called "coverage".
|
| + # Currently ignored on Windows.
|
| + 'coverage%': 0,
|
| },
|
| 'target_defaults': {
|
| 'conditions': [
|
| @@ -33,6 +39,35 @@
|
| }, { # else: branding!="Chrome"
|
| 'defines': ['CHROMIUM_BUILD'],
|
| }],
|
| + ['coverage!=0', {
|
| + 'conditions': [
|
| + ['OS=="mac"', {
|
| + 'xcode_settings': {
|
| + 'GCC_INSTRUMENT_PROGRAM_FLOW_ARCS': 'YES',
|
| + 'GCC_GENERATE_TEST_COVERAGE_FILES': 'YES',
|
| + },
|
| + # Add -lgcov for executables, not for static_libraries.
|
| + # This is a delayed conditional.
|
| + 'target_conditions': [
|
| + ['_type=="executable"', {
|
| + 'xcode_settings': { 'OTHER_LDFLAGS': [ '-lgcov' ] },
|
| + }],
|
| + ],
|
| + }],
|
| + # TODO(jrg): complete this work once Linux transitions to gyp.
|
| + # This is untested (--> likely doesn't work).
|
| + ['OS=="linux"', {
|
| + 'cflags': [ '-ftest-coverage',
|
| + '-fprofile-arcs' ],
|
| + 'target_conditions': [
|
| + ['_type=="executable"', {
|
| + 'link_settings': { 'libraries': [ '-lgcov' ] },
|
| + }],
|
| + ],
|
| + }],
|
| + ]},
|
| + # TODO(jrg): options for code coverage on Windows
|
| + ],
|
| ],
|
| 'default_configuration': 'Debug',
|
| 'configurations': {
|
|
|