meson: Enable generation of C# docs.
authorLauro Moura <lauromoura@expertisesolutions.com.br>
Fri, 15 Mar 2019 09:35:10 +0000 (10:35 +0100)
committerYeongjong Lee <yj34.lee@samsung.com>
Tue, 2 Apr 2019 03:45:17 +0000 (12:45 +0900)
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

meson/meson_csharp_docs.sh [new file with mode: 0755]
src/bindings/mono/meson.build

diff --git a/meson/meson_csharp_docs.sh b/meson/meson_csharp_docs.sh
new file mode 100755 (executable)
index 0000000..4e6577a
--- /dev/null
@@ -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
index 13fe4ca..3d844e7 100644 (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(