69a1cdac1d
screencast_icon/ holds the single source icon set; meson install ships the 256 px PNG into the hicolor theme for the GTK panel (themed icon name) and the waybar CSS, and a custom target embeds it as icon_png_data.h so the SDL receiver window sets it via SDL_SetWindowIcon with an optional SDL3_image dependency (built-in find_library, since no pkg-config file ships with it).
38 lines
1003 B
Meson
38 lines
1003 B
Meson
project('screen_cast', 'cpp',
|
|
version : '0.1.0',
|
|
default_options : [
|
|
'cpp_std=c++20',
|
|
'warning_level=3',
|
|
'werror=false',
|
|
'buildtype=release',
|
|
])
|
|
|
|
# Public and private include directories are declared in `src/meson.build`.
|
|
subdir('src')
|
|
|
|
# The GUI is a sender panel and needs the capture backend.
|
|
if get_option('gui') and not get_option('sender')
|
|
error('The GUI is a sender panel and requires -Dsender=true')
|
|
endif
|
|
|
|
# Manual smoke tools are sender-side.
|
|
if get_option('sender')
|
|
subdir('tools')
|
|
endif
|
|
|
|
# Tests
|
|
enable_tests = get_option('tests')
|
|
if enable_tests
|
|
subdir('tests')
|
|
endif
|
|
|
|
# Install the application icon into the hicolor theme: the waybar widget CSS
|
|
# and any future .desktop file reference it.
|
|
install_data('screencast_icon/screencast_256.png',
|
|
install_dir : get_option('datadir') / 'icons/hicolor/256x256/apps',
|
|
rename : 'screencast.png')
|
|
|
|
# Summary for the user
|
|
summary({
|
|
'tests': enable_tests,
|
|
}, section: 'Build options') |