summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLauro Moura <lauromoura@expertisesolutions.com.br>2019-03-15 10:35:10 +0100
committerXavi Artigas <xavierartigas@yahoo.es>2019-03-15 10:44:06 +0100
commit9c99397cda5f3424a57bebcf03a12eaf4f6b6613 (patch)
tree781872c18b5daec16dbf514f0785159ebbbb1cb5
parent7dc546bdedeb82db8d3e2524d28fb0f962005351 (diff)
downloadefl-9c99397cda5f3424a57bebcf03a12eaf4f6b6613.tar.gz
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
-rwxr-xr-xmeson/meson_csharp_docs.sh7
-rw-r--r--src/bindings/mono/meson.build11
2 files changed, 16 insertions, 2 deletions
diff --git a/meson/meson_csharp_docs.sh b/meson/meson_csharp_docs.sh
new file mode 100755
index 0000000000..4e6577a173
--- /dev/null
+++ b/meson/meson_csharp_docs.sh
@@ -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
diff --git a/src/bindings/mono/meson.build b/src/bindings/mono/meson.build
index 13fe4caada..3d844e7dac 100644
--- a/src/bindings/mono/meson.build
+++ b/src/bindings/mono/meson.build
@@ -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(