diff --git a/meson.build b/meson.build index c0e2ab3cfdf..a5dc7d0ba03 100644 --- a/meson.build +++ b/meson.build @@ -1052,12 +1052,12 @@ else _trial_cpp += ['-ffunction-sections', '-fdata-sections'] endif - # Variables that are only used for assertions are considered unused in release - # builds. Don't treat this as an error, since we build with -Werror even for - # release in CI. - if get_option('buildtype') == 'release' - _trial_c += ['-Wno-unused-variable', '-Wno-unused-but-set-variable'] - _trial_cpp += ['-Wno-unused-variable', '-Wno-unused-but-set-variable'] + # Variables that are only used for assertions are considered unused when assertions + # are disabled. Don't treat this as an error, since we build with -Werror even if + # assertions are disabled. + if get_option('b_ndebug') == 'true' or (get_option('buildtype') == 'release' and get_option('b_ndebug') == 'if-release') + _trial_c += ['-Wno-unused-variable', '-Wno-unused-but-set-variable', '/wd4189'] + _trial_cpp += ['-Wno-unused-variable', '-Wno-unused-but-set-variable', '/wd4189'] endif c_args += cc.get_supported_arguments(_trial_c)