yet another no-frills web browser
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

meson.build 2.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. project('smolbote', 'cpp',
  2. version: 'master',
  3. default_options: ['cpp_std=c++17', 'strip=true', 'warning_level=3'],
  4. license: 'GPL3')
  5. # Qt 5
  6. qt5 = import('qt5')
  7. dep_qt5 = dependency('qt5', modules: ['Core', 'Network', 'Widgets', 'WebEngineWidgets', 'Test'])
  8. # Boost
  9. dep_boost = dependency('boost', modules: ['program_options'])
  10. # Breakpad
  11. dep_breakpad = declare_dependency(
  12. compile_args: '-DBREAKPAD',
  13. dependencies: [dependency('breakpad-client', required: get_option('Breakpad')),
  14. dependency('threads', required: get_option('Breakpad'))]
  15. )
  16. # KDE
  17. dep_plasma = declare_dependency(
  18. compile_args: '-DPLASMA',
  19. dependencies: [meson.get_compiler('cpp').find_library('KF5WindowSystem', required: get_option('Plasma')),
  20. meson.get_compiler('cpp').find_library('KF5Wallet', required: get_option('Plasma'))],
  21. include_directories: [include_directories('/usr/include/KF5/KWindowSystem'), include_directories('/usr/include/KF5/KWallet')]
  22. )
  23. # add -DQT_NO_DEBUG to non-debug builds
  24. if not get_option('debug')
  25. add_global_arguments('-DQT_NO_DEBUG', language: 'cpp')
  26. endif
  27. # Generate config header
  28. include = include_directories('include')
  29. git = find_program('git').path()
  30. pymod = import('python')
  31. python3 = pymod.find_installation('python3')
  32. dep_genheaders = declare_dependency(
  33. include_directories: include_directories('.'),
  34. sources: [
  35. vcs_tag(
  36. command: [git, 'describe', '--long', '--abbrev=40'],
  37. #fallback: defaults to meson.project_version(),
  38. input: 'include/version.h.in',
  39. output: 'version.h'
  40. ),
  41. custom_target('configheader',
  42. input: ['tools/config.py', 'Kconfig', host_machine.system() + '/.config'],
  43. output: 'config.h',
  44. command: [python3, '@INPUT0@', '--kconfig=@INPUT1@', '--dotconfig=@INPUT2@', '--generate=@OUTPUT@'],
  45. build_by_default: true
  46. )]
  47. )
  48. interfaces_moc = qt5.preprocess(
  49. moc_headers: 'include/profileinterface.h',
  50. dependencies: dep_qt5
  51. )
  52. subdir('lib/about')
  53. subdir('lib/addressbar')
  54. subdir('lib/bookmarks')
  55. subdir('lib/configuration')
  56. subdir('lib/downloads')
  57. subdir('lib/urlfilter')
  58. subdir('lib/web')
  59. subdir('3rd-party/SingleApplication')
  60. subdir('src')
  61. subdir('lang')
  62. subdir('doc')
  63. subdir('plugins/ConfigurationEditor')
  64. subdir('plugins/ProfileEditor')
  65. subdir('test')