diff options
author | Marcel Hollerbach <mail@marcel-hollerbach.de> | 2019-01-04 23:24:42 +0100 |
---|---|---|
committer | Marcel Hollerbach <mail@marcel-hollerbach.de> | 2019-01-04 23:56:35 +0100 |
commit | b116fc0d7c87a5abd46b5dc72524a5f6b4f547e4 (patch) | |
tree | b6fc8f8d66b8b0368fed36810b18c55e32bc819d | |
parent | f046504ee80d601a6025ffc6b6342000fc5b4420 (diff) | |
download | efl-devs/bu5hm4n/c-sharp-on-system.tar.gz |
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.txt | 6 | ||||
-rw-r--r-- | src/bindings/mono/meson.build | 20 |
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', value : 'win7', description : 'When host_machine is windows, compile the efl with the specified version of Windows' ) + +option('efl-sharp-key-file', + type: 'string', + value: 'none', + description : 'This option can be used to provide a key which is used to sign efl-mono.dll' +) 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', output : 'efl_mono.dll.config', configuration : efl_mono_conf_data) + +if get_option('efl-sharp-key-file') == 'none' + signing = false + mono_option = '' + installing_from_meson = true +else + signing = true + mono_option = '-keyfile:'+get_option('efl-sharp-key-file') + installing_from_meson = false +endif + efl_mono = library('efl_mono', mono_generator_target + mono_files + [efl_src], - install : true, - install_dir : join_paths(dir_lib, 'efl-mono-'+version_major) + install : installing_from_meson, + install_dir : join_paths(dir_lib, 'efl-mono-'+version_major), + cs_args : mono_option, ) +if signing + meson.add_install_script('gacutil', '-i', efl_mono.full_path()) +endif + efl_mono_test_suite_path=join_paths(meson.current_build_dir()) pkgconfig.generate( |