Blob Blame History Raw
project('libdnf-plugin-txnupd', 'cpp',
    version : '0.1.2',
    license : 'LGPL-2.1-or-later',
    default_options : [
        'buildtype=debugoptimized',
        'b_asneeded=True',
        'b_lundef=True',
        'b_pie=true',
        'cpp_std=gnu++17',
        'warning_level=3',
    ],
    meson_version : '>=0.49.0')

cc = meson.get_compiler('cpp')
test_cppflags = [
    '-fstrict-aliasing',
    '-Wformat=2',
    '-Wunused',
    '-Wuninitialized',
    '-Wstrict-prototypes',
    '-Wmissing-prototypes',
    '-Werror=init-self',
    '-Werror=main',
]
foreach cppflag : test_cppflags
    if cc.has_argument(cppflag)
        add_project_arguments(cppflag, language : 'cpp')
    endif
endforeach

libdnf_plugin_libdir = join_paths(get_option('prefix'), get_option('libdir'), 'libdnf', 'plugins')

add_project_arguments(
    '-DTXNUPD_PLUGIN_VERSION="@0@"'.format(meson.project_version()),
    language : 'cpp',
)

libdnf = dependency('libdnf', version : '>=0.60')
tukit = dependency('tukit', version : '>=3.1.2')

libdnf_plugin_src = files(
    'src/txnupd.cpp',
)

libdnf_plugin = shared_module('txnupd',
    libdnf_plugin_src,
    dependencies : [libdnf, tukit],
    name_prefix : '',
    name_suffix : 'so',
    install : true,
    install_dir : libdnf_plugin_libdir,
)