Feature #1681 ยป 0012-Drop-meson-support-for-gtk4x-client.patch
| doc/INSTALL.meson | ||
|---|---|---|
| clients (array): | ||
|   List of clients to build. To disable client build completely, give an | ||
|   empty array ('-Dclients=[]'). Currently gtk3.22-, sdl2-, qt-, | ||
|   gtk4-, sdl3-, gtk4x-, and stub-client builds are supported. | ||
|   gtk4-, sdl3-, and stub-client builds are supported. | ||
|   By default builds just gtk4-client. | ||
| fcmp (array): | ||
|   List of freeciv modpack installer UIs to build. To disable their build | ||
|   completely, give an empty array ('-Dfcmp=[]'). Currently gtk3, qt, gtk4, | ||
|   gtk4x, and cli are supported. By default builds just gtk4 UI. | ||
|   and cli are supported. By default builds just gtk4 UI. | ||
| cacert-path (string): | ||
|   Custom path to CA cert bundle. If this is empty, default path will be used. | ||
| meson.build | ||
|---|---|---|
| endif | ||
| if get_option('clients').contains('gtk4x') | ||
| if not gtk5_dep.found() | ||
|   error('gtk-4.0 >= 4.14 required for gtk4x-client, but not found') | ||
| endif | ||
| executable('freeciv-gtk4x', | ||
|   'client/gui-gtk-5.0/action_dialog.c', | ||
|   'client/gui-gtk-5.0/canvas.c', | ||
|   'client/gui-gtk-5.0/chatline.c', | ||
|   'client/gui-gtk-5.0/choice_dialog.c', | ||
|   'client/gui-gtk-5.0/citizensinfo.c', | ||
|   'client/gui-gtk-5.0/citydlg.c', | ||
|   'client/gui-gtk-5.0/cityrep.c', | ||
|   'client/gui-gtk-5.0/cma_fe.c', | ||
|   'client/gui-gtk-5.0/colors.c', | ||
|   'client/gui-gtk-5.0/connectdlg.c', | ||
|   'client/gui-gtk-5.0/dialogs.c', | ||
|   'client/gui-gtk-5.0/diplodlg.c', | ||
|   'client/gui-gtk-5.0/editgui.c', | ||
|   'client/gui-gtk-5.0/editprop.c', | ||
|   'client/gui-gtk-5.0/finddlg.c', | ||
|   'client/gui-gtk-5.0/gamedlgs.c', | ||
|   'client/gui-gtk-5.0/gotodlg.c', | ||
|   'client/gui-gtk-5.0/graphics.c', | ||
|   'client/gui-gtk-5.0/gui_main.c', | ||
|   'client/gui-gtk-5.0/gui_stuff.c', | ||
|   'client/gui-gtk-5.0/happiness.c', | ||
|   'client/gui-gtk-5.0/helpdlg.c', | ||
|   'client/gui-gtk-5.0/infradlg.c', | ||
|   'client/gui-gtk-5.0/inputdlg.c', | ||
|   'client/gui-gtk-5.0/inteldlg.c', | ||
|   'client/gui-gtk-5.0/luaconsole.c', | ||
|   'client/gui-gtk-5.0/mapctrl.c', | ||
|   'client/gui-gtk-5.0/mapview.c', | ||
|   'client/gui-gtk-5.0/menu.c', | ||
|   'client/gui-gtk-5.0/messagedlg.c', | ||
|   'client/gui-gtk-5.0/messagewin.c', | ||
|   'client/gui-gtk-5.0/optiondlg.c', | ||
|   'client/gui-gtk-5.0/pages.c', | ||
|   'client/gui-gtk-5.0/plrdlg.c', | ||
|   'client/gui-gtk-5.0/rallypointdlg.c', | ||
|   'client/gui-gtk-5.0/repodlgs.c', | ||
|   'client/gui-gtk-5.0/soundset_dlg.c', | ||
|   'client/gui-gtk-5.0/spaceshipdlg.c', | ||
|   'client/gui-gtk-5.0/sprite.c', | ||
|   'client/gui-gtk-5.0/theme_dlg.c', | ||
|   'client/gui-gtk-5.0/themes.c', | ||
|   'client/gui-gtk-5.0/tileset_dlg.c', | ||
|   'client/gui-gtk-5.0/transportdlg.c', | ||
|   'client/gui-gtk-5.0/unitselect.c', | ||
|   'client/gui-gtk-5.0/unitselextradlg.c', | ||
|   'client/gui-gtk-5.0/unitselunitdlg.c', | ||
|   'client/gui-gtk-5.0/voteinfo_bar.c', | ||
|   'client/gui-gtk-5.0/wldlg.c', | ||
|   clienticon, | ||
|   c_args: [ '-DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_4_8', | ||
|             '-DGDK_VERSION_MAX_ALLOWED=GDK_VERSION_4_14', | ||
|             '-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_76', | ||
|             '-DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_76'], | ||
|   include_directories: client_inc, | ||
|   dependencies: [gtk5_dep, net_dep, gettext_dep, mw_extra_dep], | ||
|   link_with: client_common, | ||
|   install: true, | ||
|   win_subsystem: 'windows' | ||
|   ) | ||
|   gtk4_theme = true | ||
| install_data( | ||
|   'bootstrap/org.freeciv.gtk4x.desktop', | ||
|   install_dir : join_paths(get_option('prefix'), 'share/applications') | ||
|   ) | ||
| custom_target('mi_gtk4x', | ||
|               input: 'bootstrap/org.freeciv.gtk4x.metainfo.xml.in', | ||
|               output: '@BASENAME@', | ||
|               command: [sh_exe, files('bootstrap/generate_metainfo.sh'), | ||
|                         '@OUTPUT@', b_root], | ||
|               depend_files: files('fc_version'), | ||
|               install: true, | ||
|               install_dir: join_paths(get_option('datadir'), 'metainfo')) | ||
| endif | ||
| if gtk4_theme | ||
|   install_data('data/themes/gtk4/Freeciv/gtk-4.0/gtk.css', | ||
|                'data/themes/gtk4/Freeciv/gtk-4.0/menubar.css', | ||
| ... | ... | |
| endif | ||
| if get_option('fcmp').contains('gtk4x') | ||
| if not gtk5_dep.found() | ||
|   error('gtk-4.0 >= 4.14 required for gtk4x modpack installer, but not found') | ||
| endif | ||
| executable('freeciv-mp-gtk4x', | ||
|   'tools/fcmp/mpgui_gtk5.c', | ||
|   mpicon, | ||
|   c_args: [ '-DGDK_VERSION_MIN_REQUIRED=GDK_VERSION_4_14', | ||
|             '-DGDK_VERSION_MAX_ALLOWED=GDK_VERSION_4_14', | ||
|             '-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_76', | ||
|             '-DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_76'], | ||
|   include_directories: tool_inc, | ||
|   sources: [verhdr], | ||
|   dependencies: [gtk5_dep, sqlite3_dep, gettext_dep], | ||
|   link_with: [common_lib, fcmp_common], | ||
|   install: true, | ||
|   win_subsystem: 'windows' | ||
|   ) | ||
| install_data( | ||
|   'bootstrap/org.freeciv.gtk4x.mp.desktop', | ||
|   install_dir : join_paths(get_option('prefix'), 'share/applications') | ||
|   ) | ||
| custom_target('mi_mp_gtk4x', | ||
|               input: 'bootstrap/org.freeciv.gtk4x.mp.metainfo.xml.in', | ||
|               output: '@BASENAME@', | ||
|               command: [sh_exe, files('bootstrap/generate_metainfo.sh'), | ||
|                         '@OUTPUT@', b_root], | ||
|               depend_files: files('fc_version'), | ||
|               install: true, | ||
|               install_dir: join_paths(get_option('datadir'), 'metainfo')) | ||
| endif | ||
| if get_option('fcmp').contains('qt') | ||
| if not qtfine | ||
| meson_options.txt | ||
|---|---|---|
| option('clients', | ||
|        type: 'array', | ||
|        choices: ['gtk3.22','sdl2', 'qt', 'gtk4', 'stub', 'sdl3', 'gtk4x'], | ||
|        choices: ['gtk3.22','sdl2', 'qt', 'gtk4', 'stub', 'sdl3'], | ||
|        value: ['gtk4'], | ||
|        description: 'Clients to build') | ||
| option('fcmp', | ||
|        type: 'array', | ||
|        choices: ['gtk3','qt','cli','gtk4', 'gtk4x'], | ||
|        choices: ['gtk3','qt','cli','gtk4'], | ||
|        value: ['gtk4'], | ||
|        description: 'Modpack installer UIs to build') | ||