run_with_dia_env variables are replicated in meson.build
The following discussion from !14 (merged) should be addressed:
-
@jtojnar started a discussion: (+4 comments) You can use the following patch:
--- a/tests/meson.build +++ b/tests/meson.build @@ -1,13 +1,17 @@ # Setup local environment to run dia. +run_env_dict = { + 'DIA_BASE_PATH': [meson.source_root()], + 'DIA_LIB_PATH': [join_paths(meson.build_root(), 'objects'), join_paths(meson.build_root(), 'plug-ins')], + 'DIA_SHAPE_PATH': [join_paths(meson.source_root(), 'shapes')], + 'DIA_XSLT_PATH': [join_paths(meson.source_root(), 'plug-ins', 'xslt')], + 'DIA_PYTHON_PATH': [join_paths(meson.source_root(), 'plug-ins', 'python')], + 'DIA_SHEET_PATH': [join_paths(meson.build_root(), 'sheets')], +} + run_env = environment() -run_env.set('DIA_BASE_PATH', meson.source_root()) -run_env.append('DIA_LIB_PATH', - join_paths(meson.build_root(), 'objects'), - join_paths(meson.build_root(), 'plug-ins')) -run_env.set('DIA_SHAPE_PATH', join_paths(meson.source_root(), 'shapes')) -run_env.set('DIA_XSLT_PATH', join_paths(meson.source_root(), 'plug-ins', 'xslt')) -run_env.set('DIA_PYTHON_PATH', join_paths(meson.source_root(), 'plug-ins', 'python')) -run_env.set('DIA_SHEET_PATH', join_paths(meson.build_root(), 'sheets')) +foreach k, v : run_env_dict + run_env.set(k, v) +endforeach # TODO: minimise code duplication. bb = executable( @@ -73,3 +77,14 @@ test('testsvg', tsvg) subdir('exports') + +run_env_list = [] +foreach k, v : run_env_dict + run_env_list += '@0@=@1@'.format(k, ':'.join(v)) +endforeach + +# run_target currently does not support env kwarg +# https://github.com/mesonbuild/meson/issues/2723 +run_target('run', + command: ['env'] + run_env_list + [diaapp] +)
It is little ugly since
run_target
currently does not support env kwarg but it beats separate script IMO.