Files
nomines/meson.build
T
bernardo 2dbf64a2e8 Release 1.0.0: rename to NoMines, add leaderboard, theme support and release metadata
- Rename app/binary/app-id to nomines (io.github.bemagri.nomines), config dir
  moves to ~/.config/nomines with legacy path fallback
- Add persistent best-time leaderboard (Glib::KeyFile)
- Theme-aware board following system light/dark preference
- Beveled 3D cells, confetti win animation, keyboard shortcuts,
  right-click chording, per-difficulty window sizing
- Add AppStream metainfo, validate desktop file and metainfo via meson tests
- Fix license metadata to GPL-3.0-or-later and real homepage
2026-08-01 14:06:43 +01:00

70 lines
1.7 KiB
Meson

project('nomines', 'cpp',
version : '1.0.0',
default_options : ['warning_level=3', 'cpp_std=c++20'])
gnome = import('gnome')
res = gnome.compile_resources(
'resources', 'resources/gresource.xml',
source_dir: 'resources',
c_name: 'gresources'
)
# Dependencies
deps = [
dependency('gtkmm-4.0'),
dependency('sigc++-3.0')
]
# Source files
src = [
'src/main.cpp',
'src/window.cpp',
'src/window.hpp',
'src/minefield.hpp',
'src/minefield.cpp',
'src/board_widget.hpp',
'src/board_widget.cpp',
'src/leaderboard.hpp',
'src/leaderboard.cpp',
res
]
# Executable
executable('nomines',
src,
dependencies : deps,
install : true
)
# Install icon
install_data(
'resources/nomines.svg',
install_dir: join_paths(get_option('datadir'), 'icons/hicolor/scalable/apps')
)
# Install desktop file
install_data(
'resources/io.github.bemagri.nomines.desktop',
install_dir: join_paths(get_option('datadir'), 'applications')
)
# Install AppStream metadata
install_data(
'resources/io.github.bemagri.nomines.metainfo.xml',
install_dir: join_paths(get_option('datadir'), 'metainfo')
)
# Release validation (best-effort, only when the tools are installed)
desktop_file_validate = find_program('desktop-file-validate', required: false)
if desktop_file_validate.found()
test('validate-desktop', desktop_file_validate,
args: ['resources/io.github.bemagri.nomines.desktop'])
endif
appstreamcli = find_program('appstreamcli', required: false)
if appstreamcli.found()
test('validate-metainfo', appstreamcli,
args: ['validate', '--no-net', 'resources/io.github.bemagri.nomines.metainfo.xml'])
endif