diff options
| author | Marvin W <git@larma.de> | 2025-04-04 20:58:31 +0200 |
|---|---|---|
| committer | Marvin W <git@larma.de> | 2025-04-04 20:58:31 +0200 |
| commit | 01cf82385509f9a7d1ff09b5086dee136b9562f0 (patch) | |
| tree | 9382c53b95bd77c8efa8fde3ae93fc15cab6a290 | |
| parent | 87dfa8e670a080c3067d20f85b6af35cd8071a87 (diff) | |
Meson: Add option to set rpath on installed binaries
| -rw-r--r-- | crypto-vala/meson.build | 2 | ||||
| -rw-r--r-- | libdino/meson.build | 2 | ||||
| -rw-r--r-- | main/meson.build | 2 | ||||
| -rw-r--r-- | meson.build | 5 | ||||
| -rw-r--r-- | meson_options.txt | 2 | ||||
| -rw-r--r-- | plugins/http-files/meson.build | 2 | ||||
| -rw-r--r-- | plugins/ice/meson.build | 2 | ||||
| -rw-r--r-- | plugins/notification-sound/meson.build | 2 | ||||
| -rw-r--r-- | plugins/omemo/meson.build | 2 | ||||
| -rw-r--r-- | plugins/openpgp/meson.build | 2 | ||||
| -rw-r--r-- | plugins/rtp/meson.build | 2 | ||||
| -rw-r--r-- | qlite/meson.build | 2 | ||||
| -rw-r--r-- | xmpp-vala/meson.build | 2 |
13 files changed, 18 insertions, 11 deletions
diff --git a/crypto-vala/meson.build b/crypto-vala/meson.build index c3feb4d1..8499ff92 100644 --- a/crypto-vala/meson.build +++ b/crypto-vala/meson.build @@ -17,7 +17,7 @@ c_args = [ vala_args = [ '--vapidir', meson.current_source_dir() / 'vapi', ] -lib_crypto_vala = library('crypto-vala', sources, c_args: c_args, vala_args: vala_args, dependencies: dependencies, version: '0.0', install: true, install_dir: [true, true, true]) +lib_crypto_vala = library('crypto-vala', sources, c_args: c_args, vala_args: vala_args, dependencies: dependencies, version: '0.0', install: true, install_dir: [true, true, true], install_rpath: default_install_rpath) dep_crypto_vala = declare_dependency(link_with: lib_crypto_vala, include_directories: include_directories('.')) install_data('crypto-vala.deps', install_dir: get_option('datadir') / 'vala/vapi') # TODO: workaround for https://github.com/mesonbuild/meson/issues/9756 diff --git a/libdino/meson.build b/libdino/meson.build index 11e25d6b..9992a661 100644 --- a/libdino/meson.build +++ b/libdino/meson.build @@ -85,7 +85,7 @@ vala_args = [] if meson.get_compiler('vala').version().version_compare('=0.56.11') vala_args += ['-D', 'VALA_0_56_11'] endif -lib_dino = library('libdino', sources, c_args: c_args, vala_args: vala_args, include_directories: include_directories('src'), dependencies: dependencies, name_prefix: '', version: '0.0', install: true, install_dir: [true, true, true]) +lib_dino = library('libdino', sources, c_args: c_args, vala_args: vala_args, include_directories: include_directories('src'), dependencies: dependencies, name_prefix: '', version: '0.0', install: true, install_dir: [true, true, true], install_rpath: default_install_rpath) dep_dino = declare_dependency(link_with: lib_dino, include_directories: include_directories('.', 'src')) install_data('dino.deps', install_dir: get_option('datadir') / 'vala/vapi') # TODO: workaround for https://github.com/mesonbuild/meson/issues/9756 diff --git a/main/meson.build b/main/meson.build index 11aecf32..64dc4eda 100644 --- a/main/meson.build +++ b/main/meson.build @@ -143,7 +143,7 @@ endif if meson.get_compiler('vala').version().version_compare('=0.56.12') vala_args += ['-D', 'VALA_0_56_12'] endif -exe_dino = executable('dino', sources, c_args: c_args, vala_args: vala_args, dependencies: dependencies, install: true) +exe_dino = executable('dino', sources, c_args: c_args, vala_args: vala_args, dependencies: dependencies, install: true, install_rpath: default_install_rpath) install_data('data/icons/scalable/apps/im.dino.Dino-symbolic.svg', install_dir: get_option('datadir') / 'icons/hicolor/symbolic/apps') install_data('data/icons/scalable/apps/im.dino.Dino.svg', install_dir: get_option('datadir') / 'icons/hicolor/scalable/apps') diff --git a/meson.build b/meson.build index 154e97e8..627b2eeb 100644 --- a/meson.build +++ b/meson.build @@ -59,6 +59,11 @@ endif prog_git = find_program('git', required: false) prog_python = python.find_installation() +default_install_rpath = '' +if get_option('set-install-rpath') + default_install_rpath = get_option('prefix') / get_option('libdir') +endif + subdir('qlite') subdir('xmpp-vala') subdir('libdino') diff --git a/meson_options.txt b/meson_options.txt index bbfcfec5..70fc15c4 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -1,5 +1,7 @@ option('plugindir', type: 'string', value: 'dino/plugins', description: 'Dino plugin directory, relative to libdir') +option('set-install-rpath', type: 'boolean', value: false, description: 'Set rpath of installed binaries to the configured libdir') + option('plugin-http-files', type: 'feature', description: 'HTTP file upload') option('plugin-ice', type: 'feature', description: 'Peer-to-peer communication') option('plugin-omemo', type: 'feature', description: 'End-to-end encryption using OMEMO') diff --git a/plugins/http-files/meson.build b/plugins/http-files/meson.build index 1907e486..7208b1e8 100644 --- a/plugins/http-files/meson.build +++ b/plugins/http-files/meson.build @@ -18,6 +18,6 @@ sources = files( vala_args = [ '-D', 'SOUP_3_0', ] -lib_http_files = shared_library('http-files', sources, name_prefix: '', vala_args: vala_args, dependencies: dependencies, install: true, install_dir: get_option('libdir') / get_option('plugindir')) +lib_http_files = shared_library('http-files', sources, name_prefix: '', vala_args: vala_args, dependencies: dependencies, install: true, install_dir: get_option('libdir') / get_option('plugindir'), install_rpath: default_install_rpath) dep_http_files = declare_dependency(link_with: lib_http_files, include_directories: include_directories('.')) summary('HTTP file upload (http-files)', dep_http_files, section: 'Plugins') diff --git a/plugins/ice/meson.build b/plugins/ice/meson.build index 10e70cd9..0f51c1ef 100644 --- a/plugins/ice/meson.build +++ b/plugins/ice/meson.build @@ -24,6 +24,6 @@ c_args = [ vala_args = [ '--vapidir', meson.current_source_dir() / 'vapi', ] -lib_ice = shared_library('ice', sources, name_prefix: '', c_args: c_args, vala_args: vala_args, dependencies: dependencies, install: true, install_dir: get_option('libdir') / get_option('plugindir')) +lib_ice = shared_library('ice', sources, name_prefix: '', c_args: c_args, vala_args: vala_args, dependencies: dependencies, install: true, install_dir: get_option('libdir') / get_option('plugindir'), install_rpath: default_install_rpath) dep_ice = declare_dependency(link_with: lib_ice, include_directories: include_directories('.')) summary('Peer-to-peer communication (ice)', dep_ice, section: 'Plugins') diff --git a/plugins/notification-sound/meson.build b/plugins/notification-sound/meson.build index 8d3c7694..1ac44af8 100644 --- a/plugins/notification-sound/meson.build +++ b/plugins/notification-sound/meson.build @@ -15,6 +15,6 @@ sources = files( vala_args = [ '--vapidir', meson.current_source_dir() / 'vapi', ] -lib_notification_sound = shared_library('notification-sound', sources, name_prefix: '', vala_args: vala_args, dependencies: dependencies, install: true, install_dir: get_option('libdir') / get_option('plugindir')) +lib_notification_sound = shared_library('notification-sound', sources, name_prefix: '', vala_args: vala_args, dependencies: dependencies, install: true, install_dir: get_option('libdir') / get_option('plugindir'), install_rpath: default_install_rpath) dep_notification_sound = declare_dependency(link_with: lib_notification_sound, include_directories: include_directories('.')) summary('Sound for chat notifications (notification-sound)', dep_notification_sound, section: 'Plugins')
\ No newline at end of file diff --git a/plugins/omemo/meson.build b/plugins/omemo/meson.build index 20fec73e..bdf6ec5b 100644 --- a/plugins/omemo/meson.build +++ b/plugins/omemo/meson.build @@ -69,7 +69,7 @@ vala_args = [ '--internal-vapi', meson.current_build_dir() / 'omemo-internal.vapi', '--internal-header', meson.current_build_dir() / 'omemo-internal.h', ] -lib_omemo = shared_library('omemo', sources, name_prefix: '', c_args: c_args, vala_args: vala_args, include_directories: include_directories('src'), dependencies: dependencies, install: true, install_dir: get_option('libdir') / get_option('plugindir')) +lib_omemo = shared_library('omemo', sources, name_prefix: '', c_args: c_args, vala_args: vala_args, include_directories: include_directories('src'), dependencies: dependencies, install: true, install_dir: get_option('libdir') / get_option('plugindir'), install_rpath: default_install_rpath) dep_omemo = declare_dependency(link_with: lib_omemo, include_directories: include_directories('.')) summary('End-to-end encryption using OMEMO (omemo)', dep_omemo, section: 'Plugins') # This is to use the internal vapi instead of the regular diff --git a/plugins/openpgp/meson.build b/plugins/openpgp/meson.build index 6428771b..550fd31f 100644 --- a/plugins/openpgp/meson.build +++ b/plugins/openpgp/meson.build @@ -43,6 +43,6 @@ vala_args = [ if dep_libadwaita.version() == 'unknown' or dep_libadwaita.version().version_compare('>=1.4') vala_args += ['-D', 'Adw_1_4'] endif -lib_openpgp = shared_library('openpgp', sources, name_prefix: '', c_args: c_args, vala_args: vala_args, include_directories: include_directories('src'), dependencies: dependencies, install: true, install_dir: get_option('libdir') / get_option('plugindir')) +lib_openpgp = shared_library('openpgp', sources, name_prefix: '', c_args: c_args, vala_args: vala_args, include_directories: include_directories('src'), dependencies: dependencies, install: true, install_dir: get_option('libdir') / get_option('plugindir'), install_rpath: default_install_rpath) dep_openpgp = declare_dependency(link_with: lib_openpgp, include_directories: include_directories('.')) summary('End-to-end encryption using PGP (openpgp)', dep_openpgp, section: 'Plugins') diff --git a/plugins/rtp/meson.build b/plugins/rtp/meson.build index 54d45877..6c490395 100644 --- a/plugins/rtp/meson.build +++ b/plugins/rtp/meson.build @@ -79,7 +79,7 @@ if get_option('plugin-rtp-vp9').allowed() vala_args += ['-D', 'ENABLE_VP9'] endif -lib_rtp = shared_library('rtp', sources, name_prefix: '', c_args: c_args, vala_args: vala_args, include_directories: include_directories('src'), dependencies: dependencies, install: true, install_dir: get_option('libdir') / get_option('plugindir')) +lib_rtp = shared_library('rtp', sources, name_prefix: '', c_args: c_args, vala_args: vala_args, include_directories: include_directories('src'), dependencies: dependencies, install: true, install_dir: get_option('libdir') / get_option('plugindir'), install_rpath: default_install_rpath) dep_rtp = declare_dependency(link_with: lib_rtp, include_directories: include_directories('.')) summary('Voice/video calls (rtp)', dep_rtp, section: 'Plugins') diff --git a/qlite/meson.build b/qlite/meson.build index 9523b618..e26a71e9 100644 --- a/qlite/meson.build +++ b/qlite/meson.build @@ -21,7 +21,7 @@ c_args = [ vala_args = [ '--vapidir', meson.current_source_dir() / 'vapi', ] -lib_qlite = library('qlite', sources, c_args: c_args, vala_args: vala_args, dependencies: dependencies, version: '0.1', install: true, install_dir: [true, true, true]) +lib_qlite = library('qlite', sources, c_args: c_args, vala_args: vala_args, dependencies: dependencies, version: '0.1', install: true, install_dir: [true, true, true], install_rpath: default_install_rpath) dep_qlite = declare_dependency(link_with: lib_qlite, include_directories: include_directories('.')) install_data('qlite.deps', install_dir: get_option('datadir') / 'vala/vapi') # TODO: workaround for https://github.com/mesonbuild/meson/issues/9756 diff --git a/xmpp-vala/meson.build b/xmpp-vala/meson.build index 7237891b..9b863265 100644 --- a/xmpp-vala/meson.build +++ b/xmpp-vala/meson.build @@ -143,7 +143,7 @@ if meson.get_compiler('vala').version().version_compare('=0.56.11') vala_args += ['-D', 'VALA_0_56_11'] endif -lib_xmpp_vala = library('xmpp-vala', sources, c_args: c_args, vala_args: vala_args, dependencies: dependencies, version: '0.1', install: true, install_dir: [true, true, true]) +lib_xmpp_vala = library('xmpp-vala', sources, c_args: c_args, vala_args: vala_args, dependencies: dependencies, version: '0.1', install: true, install_dir: [true, true, true], install_rpath: default_install_rpath) dep_xmpp_vala = declare_dependency(link_with: lib_xmpp_vala, include_directories: include_directories('.')) install_data('xmpp-vala.deps', install_dir: get_option('datadir') / 'vala/vapi') # TODO: workaround for https://github.com/mesonbuild/meson/issues/9756 |
