diff --git a/mesonbuild/modules/windows.py b/mesonbuild/modules/windows.py index 3250c072ca9a..bb8f0a1525ad 100644 --- a/mesonbuild/modules/windows.py +++ b/mesonbuild/modules/windows.py @@ -155,6 +155,9 @@ def compile_resources(self, state: 'ModuleState', build.IncludeDirs('', [], False, [os.path.join('@BUILD_ROOT@', self.interpreter.backend.get_target_dir(d))]) ]) include_directories = self.interpreter.extract_incdirs(kwargs) + self_dir = build.IncludeDirs(state.subdir, ['.'], False) + if self_dir not in include_directories: + include_directories.append(self_dir) extra_args += state.get_include_args(include_directories) rescomp, rescomp_type = self._find_resource_compiler(state) diff --git a/test cases/windows/15 resource scripts with duplicate filenames/meson.build b/test cases/windows/15 resource scripts with duplicate filenames/meson.build index 9fa352520b88..6dd97ef0b9bb 100644 --- a/test cases/windows/15 resource scripts with duplicate filenames/meson.build +++ b/test cases/windows/15 resource scripts with duplicate filenames/meson.build @@ -1,5 +1,9 @@ project('foobar', 'c') +if meson.get_compiler('c').get_id() == 'gcc' and host_machine.system() == 'windows' + error('MESON_SKIP_TEST windres has internal error when adding . to include path') +endif + win = import('windows') subdir('a') diff --git a/test cases/windows/5 resources/res/dummy.h b/test cases/windows/5 resources/res/dummy.h new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/test cases/windows/5 resources/res/meson.build b/test cases/windows/5 resources/res/meson.build index 74e0778d2f7b..2b11a242effb 100644 --- a/test cases/windows/5 resources/res/meson.build +++ b/test cases/windows/5 resources/res/meson.build @@ -1,6 +1,8 @@ win = import('windows') -res = win.compile_resources('myres.rc', +myres = configure_file(input: 'myres.rc.in', output: 'myres.rc', copy: true) + +res = win.compile_resources(myres, depend_files: 'sample.ico', include_directories : inc, args : [['-DFOO'], '-DBAR']) diff --git a/test cases/windows/5 resources/res/myres.rc b/test cases/windows/5 resources/res/myres.rc.in similarity index 78% rename from test cases/windows/5 resources/res/myres.rc rename to test cases/windows/5 resources/res/myres.rc.in index 802bc7b45a06..54fd51e610cb 100644 --- a/test cases/windows/5 resources/res/myres.rc +++ b/test cases/windows/5 resources/res/myres.rc.in @@ -1,4 +1,5 @@ #include #include"resource.h" +#include "dummy.h" ICON_ID ICON "sample.ico"