meson: Enable generation of C# docs.

Summary:
In order to correctly install the xml file alongside the dll, a install
script is used to work around meson's limitation of tracking files
generated by library() other than the dll.

Fixes T7722

Reviewers: segfaultxavi, bu5hm4n

Reviewed By: segfaultxavi, bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7722

Differential Revision: https://phab.enlightenment.org/D8331
This commit is contained in:
Lauro Moura 2019-03-15 10:35:10 +01:00 committed by Xavi Artigas
parent 7dc546bded
commit 9c99397cda
2 changed files with 16 additions and 2 deletions

7
meson/meson_csharp_docs.sh Executable file
View File

@ -0,0 +1,7 @@
#!/bin/sh
# Installer script needed to install documentation xml file
# as meson's library() call can't track files other than the generated
# efl_mono.dll
cp $1 $2

View File

@ -156,13 +156,20 @@ if get_option('mono-beta')
extra_cs_args += '-d:EFL_BETA'
endif
efl_mono_install_dir = join_paths(dir_lib, 'efl-mono-'+version_major)
efl_mono_xml_doc = join_paths(meson.current_build_dir(), 'efl_mono.xml')
efl_mono = library('efl_mono',
mono_generator_target + mono_files + [efl_src],
install : true,
install_dir : join_paths(dir_lib, 'efl-mono-'+version_major),
cs_args : extra_cs_args
install_dir : efl_mono_install_dir,
cs_args : extra_cs_args + ['-doc:' + efl_mono_xml_doc]
)
meson.add_install_script(join_paths(meson.source_root(), 'meson', 'meson_csharp_docs.sh'),
efl_mono_xml_doc,
efl_mono_install_dir)
efl_mono_test_suite_path=join_paths(meson.current_build_dir())
pkgconfig.generate(