diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6145c56b9f..eb682cff2c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -349,7 +349,7 @@ jobs: --werror \ -Dc_args="-Wno-error=deprecated -Wno-error=deprecated-declarations" \ -Dfuzzers=true -Dlibmpv=true -Dcplayer=false - meson compile -C build + meson compile -C build fuzzers - name: Print meson log if: ${{ failure() && steps.build.outcome == 'failure' }} diff --git a/fuzzers/meson.build b/fuzzers/meson.build index bee2c4b116..f8c07ca509 100644 --- a/fuzzers/meson.build +++ b/fuzzers/meson.build @@ -2,8 +2,10 @@ incdir = include_directories('../') add_languages('cpp', native: false) -executable('fuzzer_loadfile_direct', 'fuzzer_loadfile_direct.c', - link_language: 'cpp', include_directories: incdir, link_with: libmpv) +fuzzers = [] + +fuzzers += executable('fuzzer_loadfile_direct', 'fuzzer_loadfile_direct.c', + link_language: 'cpp', include_directories: incdir, link_with: libmpv) protocols = ['edl', 'file', 'lavf', 'memory'] demuxers = ['mkv'] @@ -28,43 +30,45 @@ if features['libarchive'] endif foreach p : protocols - executable('fuzzer_protocol_' + p, - 'fuzzer_loadfile_direct.c', - link_language: 'cpp', - c_args: ['-DMPV_PROTO=' + p, '-DMPV_PROTO_' + p.to_upper()], - include_directories: incdir, - link_with: libmpv) + fuzzers += executable('fuzzer_protocol_' + p, + 'fuzzer_loadfile_direct.c', + link_language: 'cpp', + c_args: ['-DMPV_PROTO=' + p, '-DMPV_PROTO_' + p.to_upper()], + include_directories: incdir, + link_with: libmpv) endforeach foreach demuxer : demuxers cmd = 'file' cmd_ = cmd.underscorify() demuxer_ = demuxer.underscorify() - executable('fuzzer_load' + cmd_ + '_' + demuxer_, - 'fuzzer_load.c', - link_language: 'cpp', - c_args: ['-DMPV_LOAD="' + cmd + '"', '-DMPV_LOAD' + cmd_.to_upper(), - '-DMPV_DEMUXER="' + demuxer + '"', '-DMPV_DEMUXER' + demuxer_.to_upper()], - include_directories: incdir, - link_with: libmpv) + fuzzers += executable('fuzzer_load' + cmd_ + '_' + demuxer_, + 'fuzzer_load.c', + link_language: 'cpp', + c_args: ['-DMPV_LOAD="' + cmd + '"', '-DMPV_LOAD' + cmd_.to_upper(), + '-DMPV_DEMUXER="' + demuxer + '"', '-DMPV_DEMUXER' + demuxer_.to_upper()], + include_directories: incdir, + link_with: libmpv) endforeach foreach f : ['MPV_FORMAT_STRING', 'MPV_FORMAT_FLAG', 'MPV_FORMAT_INT64', 'MPV_FORMAT_DOUBLE'] foreach i : ['0', '1'] - executable('fuzzer_set_property_' + f + '_' + i, - 'fuzzer_set_property.c', - link_language: 'cpp', - c_args: ['-DMPV_FORMAT=' + f, '-DMPV_RUN=' + i], - include_directories: incdir, - link_with: libmpv) + fuzzers += executable('fuzzer_set_property_' + f + '_' + i, + 'fuzzer_set_property.c', + link_language: 'cpp', + c_args: ['-DMPV_FORMAT=' + f, '-DMPV_RUN=' + i], + include_directories: incdir, + link_with: libmpv) endforeach endforeach foreach cmd : ['file', '-config-file', '-input-conf'] - executable('fuzzer_load' + cmd.underscorify(), - 'fuzzer_load.c', - link_language: 'cpp', - c_args: ['-DMPV_LOAD="' + cmd + '"', '-DMPV_LOAD' + cmd.underscorify().to_upper()], - include_directories: incdir, - link_with: libmpv) + fuzzers += executable('fuzzer_load' + cmd.underscorify(), + 'fuzzer_load.c', + link_language: 'cpp', + c_args: ['-DMPV_LOAD="' + cmd + '"', '-DMPV_LOAD' + cmd.underscorify().to_upper()], + include_directories: incdir, + link_with: libmpv) endforeach + +alias_target('fuzzers', fuzzers)