summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Hollerbach <mail@marcel-hollerbach.de>2019-01-04 23:24:42 +0100
committerMarcel Hollerbach <mail@marcel-hollerbach.de>2019-01-04 23:56:35 +0100
commitb116fc0d7c87a5abd46b5dc72524a5f6b4f547e4 (patch)
treeb6fc8f8d66b8b0368fed36810b18c55e32bc819d
parentf046504ee80d601a6025ffc6b6342000fc5b4420 (diff)
meson: support signing and installingdevs/bu5hm4n/c-sharp-on-system
when a .dll file is signed he can be installed using gac which means no MONOPATH is not needed anymore. And the efl_mono library can be used by a c# IDE like monodevelop.
-rw-r--r--meson_options.txt6
-rw-r--r--src/bindings/mono/meson.build20
2 files changed, 24 insertions, 2 deletions
diff --git a/meson_options.txt b/meson_options.txt
index e24f999ee4..498e2a4823 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -346,3 +346,9 @@ option('windows-version',
346 value : 'win7', 346 value : 'win7',
347 description : 'When host_machine is windows, compile the efl with the specified version of Windows' 347 description : 'When host_machine is windows, compile the efl with the specified version of Windows'
348) 348)
349
350option('efl-sharp-key-file',
351 type: 'string',
352 value: 'none',
353 description : 'This option can be used to provide a key which is used to sign efl-mono.dll'
354)
diff --git a/src/bindings/mono/meson.build b/src/bindings/mono/meson.build
index 411c29f617..6d79efcc99 100644
--- a/src/bindings/mono/meson.build
+++ b/src/bindings/mono/meson.build
@@ -126,12 +126,28 @@ configure_file(input : 'efl_mono.dll.config.in',
126 output : 'efl_mono.dll.config', 126 output : 'efl_mono.dll.config',
127 configuration : efl_mono_conf_data) 127 configuration : efl_mono_conf_data)
128 128
129
130if get_option('efl-sharp-key-file') == 'none'
131 signing = false
132 mono_option = ''
133 installing_from_meson = true
134else
135 signing = true
136 mono_option = '-keyfile:'+get_option('efl-sharp-key-file')
137 installing_from_meson = false
138endif
139
129efl_mono = library('efl_mono', 140efl_mono = library('efl_mono',
130 mono_generator_target + mono_files + [efl_src], 141 mono_generator_target + mono_files + [efl_src],
131 install : true, 142 install : installing_from_meson,
132 install_dir : join_paths(dir_lib, 'efl-mono-'+version_major) 143 install_dir : join_paths(dir_lib, 'efl-mono-'+version_major),
144 cs_args : mono_option,
133) 145)
134 146
147if signing
148 meson.add_install_script('gacutil', '-i', efl_mono.full_path())
149endif
150
135efl_mono_test_suite_path=join_paths(meson.current_build_dir()) 151efl_mono_test_suite_path=join_paths(meson.current_build_dir())
136 152
137pkgconfig.generate( 153pkgconfig.generate(