1# Project name-language-version 2project('com.gitlab.bitseater.meteo', ['vala', 'c'], version: '0.9.9') 3 4# Main libraries 5gnome = import('gnome') 6i18n = import('i18n') 7 8# Add vapi files 9add_project_arguments( 10 [ 11 '--vapidir', 12 join_paths(meson.current_source_dir(), 'vapi') 13 ], 14 language: 'vala' 15) 16 17# Add locale support 18conf = configuration_data() 19conf.set_quoted('GETTEXT_PACKAGE', meson.project_name()) 20conf.set_quoted('PREFIX', get_option('prefix')) 21conf.set_quoted('VERSION', meson.project_version()) 22conf.set_quoted('PACKAGE', meson.project_name()) 23conf.set_quoted('LOCALE_DIR', join_paths(get_option('prefix'), get_option('localedir'))) 24conf.set_quoted('DATADIR', join_paths(get_option('prefix'), get_option('datadir'))) 25conf.set_quoted('PKG_DATADIR', join_paths(get_option('prefix'), get_option('datadir'), meson.project_name())) 26 27configure_file( 28 output: 'config.h', 29 configuration: conf 30) 31config_h_dir = include_directories('src') 32 33# Dependencies 34gio_dep = dependency('gio-2.0') 35glib_dep = dependency('glib-2.0') 36gobj_dep = dependency('gobject-2.0') 37gtk_dep = dependency('gtk+-3.0') 38soup_dep = dependency('libsoup-2.4') 39json_dep = dependency('json-glib-1.0') 40webk_dep = dependency('webkit2gtk-4.0') 41ind_opt_dep = dependency('ayatana-appindicator3-0.1' , required : false) 42 43if ind_opt_dep.found() 44 ind_dep = dependency('ayatana-appindicator3-0.1') 45else 46 ind_dep = dependency('appindicator3-0.1') 47endif 48 49dependencies = [ 50 gio_dep, 51 glib_dep, 52 gobj_dep, 53 gtk_dep, 54 soup_dep, 55 json_dep, 56 webk_dep, 57 ind_dep 58] 59 60# Arguments C - no gcc warnings 61c_args = [ 62 '-include', 'config.h', 63 '-w', '-DGETTEXT_PACKAGE="' + meson.project_name() + '"' 64] 65 66cc = meson.get_compiler('c') 67 68## Compile GResources 69asresources = gnome.compile_resources( 70 'as_resources', 'data/' + meson.project_name() + '.gresource.xml', 71 source_dir: 'data', 72 c_name: 'as' 73) 74 75# Add subfolders 76subdir('data') 77subdir('po') 78 79# Define executable 80executable( 81 meson.project_name(), 82 'src/Constants.vala', 83 'src/MainWindow.vala', 84 'src/Meteo.vala', 85 'src/Utils/GeoLocate.vala', 86 'src/Utils/Iconame.vala', 87 'src/Utils/MapLayer.vala', 88 'src/Utils/OWM_Today.vala', 89 'src/Utils/Utils.vala', 90 'src/Widgets/About.vala', 91 'src/Widgets/City.vala', 92 'src/Widgets/Current.vala', 93 'src/Widgets/Forecast.vala', 94 'src/Widgets/Header.vala', 95 'src/Widgets/MapView.vala', 96 'src/Widgets/Preferences.vala', 97 'src/Widgets/Ticket.vala', 98 'src/Widgets/Today.vala', 99 asresources, 100 c_args: c_args, 101 dependencies: dependencies, 102 vala_args: [ 103 meson.source_root() + '/vapi/config.vapi' 104 ], 105 link_args: ['-lm'], 106 install : true 107) 108 109# Add post install script 110meson.add_install_script('meson/post_install.py') 111