gplugin/gplugin

Simplify shared library versioning.
develop
2017-06-09, Elliott Sales de Andrade
06217d1664be
Simplify shared library versioning.

Meson isn't libtool so we don't really need to use the same current,
age, revision thing. Also, the 'soversion' property defaults to the
first element of 'version', so we don't need to specify it.
###############################################################################
# Project Info
###############################################################################
project('gplugin', 'c', version : '0.28.0-dev',
meson_version : '>=0.37.0',
default_options : ['c_std=c99'])
parts = meson.project_version().split('-')
if parts.length() > 1
extra = parts[1]
else
extra = ''
endif
parts = parts[0].split('.')
GPLUGIN_MAJOR_VERSION = parts[0]
version_conf = configuration_data()
version_conf.set('GPLUGIN_MAJOR_VERSION', GPLUGIN_MAJOR_VERSION)
version_conf.set('GPLUGIN_MINOR_VERSION', parts[1])
version_conf.set('GPLUGIN_MICRO_VERSION', parts[2])
version_conf.set('GPLUGIN_EXTRA_VERSION', extra)
version_conf.set('GPLUGIN_VERSION', meson.project_version())
LOCALE_DIR = join_paths(get_option('prefix'), get_option('localedir'))
add_project_arguments('-DLOCALEDIR="@0@"'.format(LOCALE_DIR), language : 'c')
###############################################################################
# Dependencies
###############################################################################
gnome = import('gnome')
pkgconfig = import('pkgconfig')
if get_option('help2man')
help2man = find_program('help2man')
endif
GLIB = dependency('glib-2.0', version : '>=2.34.0')
GOBJECT = dependency('gobject-2.0')
# we separate gmodule out so our test aren't linked to it
GMODULE = dependency('gmodule-2.0')
###############################################################################
# NLS
###############################################################################
GETTEXT_PACKAGE = 'gplugin'
add_project_arguments('-DGETTEXT_PACKAGE="@0@"'.format(GETTEXT_PACKAGE),
language : 'c')
if get_option('nls')
i18n = import('i18n')
endif
###############################################################################
# Build Info
###############################################################################
compiler = meson.get_compiler('c')
add_project_arguments(
'-DPREFIX="@0@"'.format(get_option('prefix')),
'-DLIBDIR="@0@"'.format(get_option('libdir')),
'-DGPLUGIN_WEBSITE="http://bitbucket.org/gplugin/main"',
language : 'c'
)
if compiler.has_argument('-Wformat')
add_project_arguments('-Wformat', language : 'c')
if compiler.has_multi_arguments(['-Wformat', '-Werror=format-security'])
add_project_arguments('-Werror=format-security', language : 'c')
endif
endif
configure_file(
input : 'gplugin-version.sh.in',
output : 'gplugin-version.sh',
configuration : version_conf)
# check if we're using gcc
if compiler.get_id() == 'gcc' or host_machine.platform() == 'darwin'
add_project_arguments(
'-DGPLUGIN_UNUSED=__attribute__((unused))',
'-ggdb',
language : 'c'
)
else
add_project_arguments(
'-DGPLUGIN_UNUSED=',
language : 'c'
)
endif
toplevel_inc = include_directories('.')
###############################################################################
# Subdirectories
###############################################################################
subdir('gplugin')
subdir('gplugin-gtk')
subdir('packaging')
subdir('plugins')
subdir('po')
subdir('lua')
subdir('perl')
subdir('python')
subdir('tcc')
###############################################################################
# Install stuff
###############################################################################
# documentation
install_data('ChangeLog', 'INSTALL', 'README', 'HACKING',
install_dir : join_paths(get_option('datadir'), 'doc', 'gplugin'))
###############################################################################
# make dist
###############################################################################
#set(ARCHIVES
# gplugin-${GPLUGIN_VERSION}.tar.bz2
# gplugin-${GPLUGIN_VERSION}.tar.gz
# gplugin-${GPLUGIN_VERSION}.zip
#)
#set(SIGNATURES)
#foreach(ARCHIVE ${ARCHIVES})
# add_custom_command(
# COMMAND hg archive ${ARCHIVE}
# OUTPUT ${ARCHIVE}
# DEPENDS .
# WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
# )
#
# add_custom_command(
# COMMAND gpg --yes -abs ${ARCHIVE}
# OUTPUT ${ARCHIVE}.asc
# DEPENDS . ${ARCHIVE}
# WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
# )
#
# list(APPEND SIGNATURES ${ARCHIVE}.asc)
#endforeach(ARCHIVE)
#
#add_custom_target(dist DEPENDS ${ARCHIVES} ${SIGNATURES})