Files
deskflow/meson.build
2024-09-21 07:09:33 -04:00

57 lines
1.7 KiB
Meson

# For now, we're only using Meson to resolve dependencies. CMake is called separately.
# In future, we may completely replace CMake with Meson.
# Where available, we use system packages, otherwise we use subprojects.
# Subprojects are also used to get the latest version during development.
project('deskflow', 'cpp')
if host_machine.system() == 'windows'
subproject('wintoast')
endif
system_tomlplusplus = get_option('system-tomlplusplus')
if system_tomlplusplus
dependency('tomlplusplus', required: false)
else
subproject('tomlplusplus')
endif
system_cli11 = get_option('system-cli11')
if system_cli11
dependency('cli11', required: false)
else
subproject('cli11')
endif
system_gtest = get_option('system-gtest')
if system_gtest
dependency('gtest', required: false)
else
subproject('gtest')
endif
if host_machine.system() == 'linux'
system_libei = get_option('system-libei')
if system_libei
dependency('libei-1.0', required: false)
else
# Using the subproject is only useful for development; it's not intended for normal use.
# GNOME46 or above is required as this has the required bits for libei.
# Building on anything older is pointless as you won't be able to actually connect to anything.
subproject('libei', default_options: ['tests=disabled', 'liboeffis=disabled'])
endif
system_libportal = get_option('system-libportal')
if system_libportal
dependency('libportal', required: false)
else
# Using the subproject is only useful for development; it's not intended for normal use.
subproject('libportal', default_options: [
'docs=false',
'backend-gtk3=enabled',
'backend-qt6=disabled'
])
endif
endif