Skip to content

Commit

Permalink
meson: add support for llvm-style code coverage
Browse files Browse the repository at this point in the history
Signed-off-by: Yuxuan Shui <[email protected]>
  • Loading branch information
yshui committed Jun 6, 2024
1 parent 4dc7878 commit f4f22d5
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 2 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ doxygen/
*.orig
/tests/log
/tests/testcases/__pycache__/
*.profraw

# Subproject files
subprojects/libconfig
9 changes: 9 additions & 0 deletions meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,15 @@ if get_option('sanitize')
endif
endif

if get_option('llvm_coverage')
if cc.get_id() != 'clang'
error('option \'llvm_coverage\' requires clang')
endif
coverage_flags = ['-fprofile-instr-generate', '-fcoverage-mapping']
add_global_arguments(coverage_flags, language: 'c')
add_global_link_arguments(coverage_flags, language: 'c')
endif

if get_option('modularize')
if not cc.has_argument('-fmodules')
error('option \'modularize\' requires clang')
Expand Down
7 changes: 5 additions & 2 deletions meson_options.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ option('compton', type: 'boolean', value: true, description: 'Install backwards

option('with_docs', type: 'boolean', value: false, description: 'Build documentation and man pages')

option('modularize', type: 'boolean', value: false, description: 'Build with clang\'s module system')

option('unittest', type: 'boolean', value: false, description: 'Enable unittests in the code')

# Experimental options

option('modularize', type: 'boolean', value: false, description: 'Build with clang\'s module system (experimental)')
option('llvm_coverage', type: 'boolean', value: false, description: 'Use LLVM source-based code coverage, instead of --coverage. Do not use with b_coverage.')

0 comments on commit f4f22d5

Please sign in to comment.