diff options
-rw-r--r-- | mesonbuild/modules/qt.py | 6 | ||||
-rw-r--r-- | test cases/frameworks/4 qt/meson.build | 10 |
2 files changed, 13 insertions, 3 deletions
diff --git a/mesonbuild/modules/qt.py b/mesonbuild/modules/qt.py index 5165fb3..8c673de 100644 --- a/mesonbuild/modules/qt.py +++ b/mesonbuild/modules/qt.py @@ -428,11 +428,11 @@ class QtBaseModule(ExtensionModule): if not isinstance(args[0], str): raise build.InvalidArguments('First argument to qt.preprocess must be a string') rcc_kwargs['name'] = args[0] - sources.extend(self.compile_resources(state, tuple(), rcc_kwargs).return_value) + sources.append(self.compile_resources(state, tuple(), rcc_kwargs).return_value) if kwargs['ui_files']: ui_kwargs: 'UICompilerKwArgs' = {'sources': kwargs['ui_files'], 'extra_args': kwargs['uic_extra_arguments'], 'method': method} - sources.extend(self.compile_ui(state, tuple(), ui_kwargs).return_value) + sources.append(self.compile_ui(state, tuple(), ui_kwargs).return_value) if kwargs['moc_headers'] or kwargs['moc_sources']: moc_kwargs: 'MocCompilerKwArgs' = { @@ -443,7 +443,7 @@ class QtBaseModule(ExtensionModule): 'dependencies': kwargs['dependencies'], 'method': method, } - sources.extend(self.compile_moc(state, tuple(), moc_kwargs).return_value) + sources.append(self.compile_moc(state, tuple(), moc_kwargs).return_value) return ModuleReturnValue(sources, [sources]) diff --git a/test cases/frameworks/4 qt/meson.build b/test cases/frameworks/4 qt/meson.build index 2e85ddb..f9fb21c 100644 --- a/test cases/frameworks/4 qt/meson.build +++ b/test cases/frameworks/4 qt/meson.build @@ -57,6 +57,10 @@ foreach qt : ['qt4', 'qt5', 'qt6'] # XML files that need to be compiled with the uic tol. prep += qtmodule.compile_ui(sources : 'mainWindow.ui', method: get_option('method')) + qtmodule.preprocess( + ui_files : 'mainWindow.ui', + method: get_option('method')) + # Resource file(s) for rcc compiler extra_cpp_args = [] if meson.is_unity() @@ -100,6 +104,12 @@ foreach qt : ['qt4', 'qt5', 'qt6'] # The build system needs to include the cpp files from # headers but the user must manually include moc # files from sources. + qtmodule.preprocess( + moc_extra_arguments : ['-DMOC_EXTRA_FLAG'], # This is just a random macro to test `extra_arguments` + moc_sources : 'manualinclude.cpp', + moc_headers : 'manualinclude.h', + method : get_option('method')) + manpreprocessed = qtmodule.compile_moc( extra_args : ['-DMOC_EXTRA_FLAG'], # This is just a random macro to test `extra_arguments` sources : 'manualinclude.cpp', |