diff options
author | Elliott Sales de Andrade <quantum.analyst@gmail.com> | 2016-12-28 17:02:03 -0500 |
---|---|---|
committer | Elliott Sales de Andrade <quantum.analyst@gmail.com> | 2016-12-28 17:19:46 -0500 |
commit | 157549fe72dc9ce400c2587b536987b53da8f90b (patch) | |
tree | 80040d8e6af9d2a71b7453d94a2f9c8417e948ce | |
parent | 24b3585318b01e1c0e5ea7a6186ee699a07b642d (diff) | |
download | meson-157549fe72dc9ce400c2587b536987b53da8f90b.zip meson-157549fe72dc9ce400c2587b536987b53da8f90b.tar.gz meson-157549fe72dc9ce400c2587b536987b53da8f90b.tar.bz2 |
Add include_directories to windows.compile_resources.
-rw-r--r-- | mesonbuild/modules/windows.py | 10 | ||||
-rw-r--r-- | test cases/windows/5 resources/inc/resource.h | 1 | ||||
-rw-r--r-- | test cases/windows/5 resources/meson.build | 5 | ||||
-rw-r--r-- | test cases/windows/5 resources/myres.rc | 3 |
4 files changed, 17 insertions, 2 deletions
diff --git a/mesonbuild/modules/windows.py b/mesonbuild/modules/windows.py index 012f4d0..d034497 100644 --- a/mesonbuild/modules/windows.py +++ b/mesonbuild/modules/windows.py @@ -14,6 +14,7 @@ from .. import mesonlib, dependencies, build from ..mesonlib import MesonException +from . import get_include_args import os class WindowsModule: @@ -26,7 +27,16 @@ class WindowsModule: def compile_resources(self, state, args, kwargs): comp = self.detect_compiler(state.compilers) + extra_args = mesonlib.stringlistify(kwargs.get('args', [])) + inc_dirs = kwargs.pop('include_directories', []) + if not isinstance(inc_dirs, list): + inc_dirs = [inc_dirs] + for incd in inc_dirs: + if not isinstance(incd.held_object, (str, build.IncludeDirs)): + raise MesonException('Resource include dirs should be include_directories().') + extra_args += get_include_args(state.environment, inc_dirs) + if comp.id == 'msvc': rescomp = dependencies.ExternalProgram('rc', silent=True) res_args = extra_args + ['/nologo', '/fo@OUTPUT@', '@INPUT@'] diff --git a/test cases/windows/5 resources/inc/resource.h b/test cases/windows/5 resources/inc/resource.h new file mode 100644 index 0000000..dbdd509 --- /dev/null +++ b/test cases/windows/5 resources/inc/resource.h @@ -0,0 +1 @@ +#define ICON_ID 1 diff --git a/test cases/windows/5 resources/meson.build b/test cases/windows/5 resources/meson.build index fe75719..3c13634 100644 --- a/test cases/windows/5 resources/meson.build +++ b/test cases/windows/5 resources/meson.build @@ -1,9 +1,12 @@ project('winmain', 'c') win = import('windows') +res = win.compile_resources('myres.rc', + include_directories : include_directories('inc') +) exe = executable('prog', 'prog.c', - win.compile_resources('myres.rc'), + res, gui_app : true) test('winmain', exe) diff --git a/test cases/windows/5 resources/myres.rc b/test cases/windows/5 resources/myres.rc index 12838ae..802bc7b 100644 --- a/test cases/windows/5 resources/myres.rc +++ b/test cases/windows/5 resources/myres.rc @@ -1,3 +1,4 @@ #include<windows.h> +#include"resource.h" -1 ICON "sample.ico" +ICON_ID ICON "sample.ico" |