diff options
Diffstat (limited to 'meson.build')
-rw-r--r-- | meson.build | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..1c7c59c --- /dev/null +++ b/meson.build @@ -0,0 +1,87 @@ +project( + 'libjaylink', 'c', + version: '0.3.1', + license: ' GPL-3.0-or-later', + default_options: [ + 'c_std=gnu99', + 'warning_level=3', + 'werror=true', + ] +) + +project_description = 'Library to access J-Link devices' +project_url = 'https://gitlab.zapb.de/libjaylink/libjaylink.git' + +option_usb = get_option('usb') + +include_dirs = include_directories('libjaylink') + +libusb = dependency( + 'libusb-1.0', + version: '>=1.0.16', + required: false +) + +have_usb = libusb.found() and (option_usb.enabled() or option_usb.auto()) + +if have_usb + add_project_arguments('-DHAVE_LIBUSB', language: 'c') +endif + +version = meson.project_version() +version_array = version.split('.') +major_version = version_array[0].to_int() +minor_version = version_array[1].to_int() +version_micro = version_array[2].to_int() + +package_version = { + 'major': version_array[0], + 'minor': version_array[1], + 'micro': version_array[2], +} + +git = find_program('git', required: false) + +if git.found() + git_tag = run_command([git, 'describe', '--dirty'], check: false).stdout().strip() + + if git_tag != '' + package_version_string = git_tag + else + package_version_string = version + endif +else + package_version_string = version +endif + +# Libtool interface version of libjaylink. This is not the same as the package +# version. For information about the versioning system of libtool, see: +# http://www.gnu.org/software/libtool/manual/libtool.html#Libtool-versioning + +library_version = { + 'current': 2, + 'revision': 0, + 'age': 2, +} + +library_version_string = '@0@.@1@.@2@'.format( + library_version['current'] - library_version['age'], + library_version['age'], + library_version['revision']) + +subdir('libjaylink') + +summary({ + 'Package version': package_version_string, + 'Library version': library_version_string, + }, + section: 'Project details' +) + +summary({ + 'USB': have_usb, + 'TCP': true + }, + section: 'Enabled transports', + bool_yn: true +) |