project-wide: build & run-time fixes
While using meson some issues were faced with link and application startup. This commit is to put fixes for the following issues: - missed conversation_details.css file; add conversation_details.css to the main/data/gresources.xml; - the 'localtime_r' symbol can't be found while linking application add POSIX_C_SOURCES=1 macro definition - meson configure complains that xmpp-vala package version is not set set xmpp-vala version to 0.1 - application startup failures due to unresolved symbols while creating initial UI fix: put '--export-all-symbols' to the main/meson.build for mingw64 build - segmentation fault while running app built by meson meson.build: add _WIN32 definefor vala compilation - main/meson.build: add _FILE_OFFSET_BITS definition (sync with cmake cfg) - main/meson.build: compile window resources (fix missed window icon) Signed-off-by: Vadim Lomovtsev <jelezny@gmail.com>
This commit is contained in:
parent
e4bd6c1ce4
commit
81253f28cc
|
@ -11,6 +11,7 @@
|
||||||
<file>conversation_content_view/item_metadata_header.ui</file>
|
<file>conversation_content_view/item_metadata_header.ui</file>
|
||||||
<file>conversation_content_view/view.ui</file>
|
<file>conversation_content_view/view.ui</file>
|
||||||
<file>conversation_details.ui</file>
|
<file>conversation_details.ui</file>
|
||||||
|
<file>conversation_details.css</file>
|
||||||
<file>conversation_item_widget.ui</file>
|
<file>conversation_item_widget.ui</file>
|
||||||
<file>conversation_list_titlebar.ui</file>
|
<file>conversation_list_titlebar.ui</file>
|
||||||
<file>conversation_list_titlebar_csd.ui</file>
|
<file>conversation_list_titlebar_csd.ui</file>
|
||||||
|
|
|
@ -104,6 +104,8 @@ sources += gnome.compile_resources(
|
||||||
c_args = [
|
c_args = [
|
||||||
'-DG_LOG_DOMAIN="dino"',
|
'-DG_LOG_DOMAIN="dino"',
|
||||||
'-DGETTEXT_PACKAGE="dino"',
|
'-DGETTEXT_PACKAGE="dino"',
|
||||||
|
'-D_POSIX_C_SOURCE=1',
|
||||||
|
'-D_FILE_OFFSET_BITS=64',
|
||||||
'-DLOCALE_INSTALL_DIR="@0@"'.format(get_option('prefix') / get_option('localedir')),
|
'-DLOCALE_INSTALL_DIR="@0@"'.format(get_option('prefix') / get_option('localedir')),
|
||||||
]
|
]
|
||||||
vala_args = [
|
vala_args = [
|
||||||
|
@ -118,7 +120,15 @@ endif
|
||||||
if dep_gtk4.version() == 'unknown' or dep_gtk4.version().version_compare('>=4.8')
|
if dep_gtk4.version() == 'unknown' or dep_gtk4.version().version_compare('>=4.8')
|
||||||
vala_args += ['-D', 'GTK_4_8']
|
vala_args += ['-D', 'GTK_4_8']
|
||||||
endif
|
endif
|
||||||
exe_dino = executable('dino', sources, c_args: c_args, vala_args: vala_args, dependencies: dependencies, install: true)
|
|
||||||
|
link_args = []
|
||||||
|
if host_machine.system() == 'windows'
|
||||||
|
link_args += ['-Wl,--export-all-symbols']
|
||||||
|
windows = import('windows')
|
||||||
|
sources += windows.compile_resources('dino-info.rc')
|
||||||
|
endif
|
||||||
|
|
||||||
|
exe_dino = executable('dino', sources, c_args: c_args, vala_args: vala_args, dependencies: dependencies, install: true, link_args: link_args)
|
||||||
|
|
||||||
install_data('data/icons/scalable/apps/im.dino.Dino-symbolic.svg', install_dir: get_option('datadir') / 'hicolor/symbolic/apps')
|
install_data('data/icons/scalable/apps/im.dino.Dino-symbolic.svg', install_dir: get_option('datadir') / 'hicolor/symbolic/apps')
|
||||||
install_data('data/icons/scalable/apps/im.dino.Dino.svg', install_dir: get_option('datadir') / 'hicolor/scalable/apps')
|
install_data('data/icons/scalable/apps/im.dino.Dino.svg', install_dir: get_option('datadir') / 'hicolor/scalable/apps')
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
project('xmpp-vala', 'c', 'cpp', 'vala')
|
project('xmpp-vala', 'c', 'cpp', 'vala', version:'0.1')
|
||||||
|
|
||||||
fs = import('fs')
|
fs = import('fs')
|
||||||
gnome = import('gnome')
|
gnome = import('gnome')
|
||||||
|
@ -12,6 +12,7 @@ python = import('python')
|
||||||
# On Windows, it's always required because we need it for glib-networking.
|
# On Windows, it's always required because we need it for glib-networking.
|
||||||
if host_machine.system() == 'windows'
|
if host_machine.system() == 'windows'
|
||||||
plugin_crypto = true
|
plugin_crypto = true
|
||||||
|
add_project_arguments('-D', '_WIN32', language: 'vala')
|
||||||
else
|
else
|
||||||
plugin_crypto = get_option('plugin-ice')
|
plugin_crypto = get_option('plugin-ice')
|
||||||
foreach plugin : ['plugin-ice', 'plugin-omemo', 'plugin-rtp']
|
foreach plugin : ['plugin-ice', 'plugin-omemo', 'plugin-rtp']
|
||||||
|
|
|
@ -132,7 +132,7 @@ c_args = [
|
||||||
vala_args = [
|
vala_args = [
|
||||||
'--vapidir', meson.current_source_dir() / 'vapi',
|
'--vapidir', meson.current_source_dir() / 'vapi',
|
||||||
]
|
]
|
||||||
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: meson.project_version(), install: true, install_dir: [true, true, true])
|
||||||
dep_xmpp_vala = declare_dependency(link_with: lib_xmpp_vala, include_directories: include_directories('.'))
|
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
|
install_data('xmpp-vala.deps', install_dir: get_option('datadir') / 'vala/vapi') # TODO: workaround for https://github.com/mesonbuild/meson/issues/9756
|
||||||
|
|
Loading…
Reference in a new issue