X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;ds=sidebyside;f=meson.build;h=0e50d10863244b0f97c370d3b346aa0dea3ed724;hb=refs%2Fheads%2Faccepted%2Ftizen_unified_x;hp=445fd6a8abf0fa29d6770cc1de5d48edc38abb67;hpb=7eeb8e9a2c70f7b3d604bf1af1d23bf3cfc097b9;p=platform%2Fcore%2Fuifw%2Flibds-tizen.git diff --git a/meson.build b/meson.build index 445fd6a..0e50d10 100644 --- a/meson.build +++ b/meson.build @@ -1,40 +1,91 @@ -project('libds', 'c', +project('libds_tizen', + ['c', 'cpp'], license: 'MIT', - version: '0.1.0', + version: '0.1.2', default_options: [ 'warning_level=1', - 'c_std=gnu99', + 'c_std=gnu99', 'cpp_std=c++20', 'buildtype=debug' ] ) -libds_version = meson.project_version() -version_arr = libds_version.split('.') -libds_version_major = version_arr[0] -libds_version_minor = version_arr[1] -libds_version_patch = version_arr[2] +cc = meson.get_compiler('c') + +add_project_arguments(cc.get_supported_arguments([ + '-Wno-missing-field-initializers', + '-Wno-unused-parameter', + '-Wno-pedantic', + '-Wno-missing-braces', +]), language: ['c', 'cpp']) + +# Compute the relative path used by compiler invocations. +source_root = meson.current_source_dir().split('/') +build_root = meson.global_build_root().split('/') +relative_dir_parts = [] +i = 0 +in_prefix = true +foreach p: build_root + if i >= source_root.length() or not in_prefix or p != source_root[i] + in_prefix = false + relative_dir_parts += '..' + endif + i += 1 +endforeach +i = 0 +in_prefix = true +foreach p : source_root + if i >= build_root.length() or not in_prefix or build_root[i] != p + in_prefix = false + relative_dir_parts += p + endif + i += 1 +endforeach +relative_dir = join_paths(relative_dir_parts) + '/' + +if cc.has_argument('-fmacro-prefix-map=/prefix/to/hide=') + add_project_arguments( + '-fmacro-prefix-map=@0@='.format(relative_dir), + language: 'c', + ) +else + add_project_arguments( + '-D_DS_REL_SRC_DIR="@0@"'.format(relative_dir), + language: 'c', + ) +endif + +libds_tizen_version = meson.project_version() +version_arr = libds_tizen_version.split('.') +libds_tizen_version_major = version_arr[0] +libds_tizen_version_minor = version_arr[1] +libds_tizen_version_patch = version_arr[2] dir_prefix = get_option('prefix') -libds_bindir = join_paths(dir_prefix, get_option('bindir')) +libds_tizen_bindir = join_paths(dir_prefix, get_option('bindir')) -libds_inc = include_directories('include') -common_inc = [ include_directories('.'), libds_inc ] +libds_tizen_inc = include_directories('include') cdata = configuration_data() -cdata.set('LIBDS_VERSION_MAJOR', libds_version_major) -cdata.set('LIBDS_VERSION_MINOR', libds_version_minor) -cdata.set('LIBDS_VERSION_PATCH', libds_version_patch) +cdata.set('LIBDS_VERSION_MAJOR', libds_tizen_version_major) +cdata.set('LIBDS_VERSION_MINOR', libds_tizen_version_minor) +cdata.set('LIBDS_VERSION_PATCH', libds_tizen_version_patch) + +wayland_protos = dependency('wayland-protocols', + fallback: ['wayland-protocols', 'wayland_protocols'], + default_options: ['tests=false'], +) +wl_protocol_dir = wayland_protos.get_variable('pkgdatadir') -features = { - 'tdm-backend': false, - 'tbm-allocator': false, -} +wayland_scanner_dep = dependency('wayland-scanner', native: true) +wayland_scanner = find_program( + wayland_scanner_dep.get_variable('wayland_scanner'), + native: true, +) -subdir('include') subdir('src') +subdir('tests') subdir('examples') subdir('clients') +subdir('include') configure_file(output: 'config.h', install: false, configuration: cdata) - -summary(features, bool_yn: true)