@@ -758,7 +758,7 @@ def copy_build_options_from_regular_ones(self) -> None:
758758 except KeyError :
759759 continue
760760
761- def set_options (self , options : T .Dict [OptionKey , T .Any ], subproject : str = '' , warn_unknown : bool = True ) -> None :
761+ def set_options (self , options : T .Dict [OptionKey , T .Any ], subproject : str = '' ) -> None :
762762 if not self .is_cross_build ():
763763 options = {k : v for k , v in options .items () if k .machine is not MachineChoice .BUILD }
764764 # Set prefix first because it's needed to sanitize other options
@@ -774,16 +774,15 @@ def set_options(self, options: T.Dict[OptionKey, T.Any], subproject: str = '', w
774774 for k , v in options .items ():
775775 if k == pfk :
776776 continue
777- elif k not in self .options :
778- unknown_options .append (k )
779- else :
777+ elif k in self .options :
780778 self .set_option (k , v )
781- if unknown_options and warn_unknown :
779+ elif k .machine != MachineChoice .BUILD :
780+ unknown_options .append (k )
781+ if unknown_options :
782782 unknown_options_str = ', ' .join (sorted (str (s ) for s in unknown_options ))
783783 sub = f'In subproject { subproject } : ' if subproject else ''
784- mlog .warning (f'{ sub } Unknown options: "{ unknown_options_str } "' )
785- mlog .log ('The value of new options can be set with:' )
786- mlog .log (mlog .bold ('meson setup <builddir> --reconfigure -Dnew_option=new_value ...' ))
784+ raise MesonException (f'{ sub } Unknown options: "{ unknown_options_str } "' )
785+
787786 if not self .is_cross_build ():
788787 self .copy_build_options_from_regular_ones ()
789788
0 commit comments