summaryrefslogtreecommitdiffstats
path: root/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build498
1 files changed, 0 insertions, 498 deletions
diff --git a/meson.build b/meson.build
deleted file mode 100644
index 265b3074..00000000
--- a/meson.build
+++ /dev/null
@@ -1,498 +0,0 @@
-project('rofi', 'c',
- version: '1.6.1-dev',
- meson_version: '>=0.47.0',
- license: [ 'MIT' ],
- default_options: [
- 'c_std=c99',
- ],
-)
-
-c_compiler = meson.get_compiler('c')
-
-add_project_arguments(
- '-I@0@'.format(meson.build_root()),
- '-I@0@'.format(join_paths(meson.source_root(), 'include')),
- '-D_DEFAULT_SOURCE=1',
- language: 'c'
-)
-
-flags = [
- '-Wparentheses',
- '-Winline',
- '-Wunreachable-code',
- '-Werror=missing-prototypes',
- '-Wno-inline', # A bit too noisy with Bison…
-]
-foreach f : flags
- if c_compiler.has_argument(f)
- add_project_arguments(f, language: 'c')
- endif
-endforeach
-
-plugindir = join_paths(get_option('libdir'), meson.project_name())
-themedir = join_paths(get_option('datadir'), meson.project_name(), 'themes')
-
-glib_min_major=2
-glib_min_minor=40
-glib_min_version='@0@.@1@'.format(glib_min_major, glib_min_minor)
-plugins_deps = [
- dependency('glib-2.0', version: '>= @0@'.format(glib_min_version)),
- dependency('gmodule-2.0'),
- dependency('cairo'),
-]
-
-deps = [
- plugins_deps,
- dependency('gio-unix-2.0'),
- dependency('pango'),
- dependency('pangocairo'),
- dependency('xkbcommon'),
- dependency('gdk-pixbuf-2.0'),
-]
-
-
-gwxcb = subproject('xcb')
-# XCB stuff
-deps += [
- gwxcb.get_variable('libgwater_xcb'),
- dependency('xcb-aux'),
- dependency('xcb-xkb'),
- dependency('xkbcommon-x11'),
- dependency('xcb-ewmh'),
- dependency('xcb-icccm'),
- dependency('xcb-xrm'),
- dependency('xcb-randr'),
- dependency('xcb-xinerama'),
- dependency('cairo-xcb'),
- dependency('libstartup-notification-1.0'),
-]
-
-libgif = c_compiler.find_library('libgif', required: false)
-deps += [ libgif ]
-
-check = dependency('check', version: '>= 0.11.0', required: get_option('check'))
-
-header_conf = configuration_data()
-header_conf.set_quoted('PACKAGE_NAME', meson.project_name())
-header_conf.set_quoted('PACKAGE_VERSION', meson.project_version())
-header_conf.set_quoted('VERSION', meson.project_version())
-header_conf.set_quoted('GETTEXT_PACKAGE', meson.project_name())
-header_conf.set_quoted('PACKAGE_BUGREPORT', 'https://github.com/davatorium/rofi/')
-header_conf.set_quoted('PACKAGE_URL', 'https://reddit.com/r/qtools/')
-
-header_conf.set('THEME_CONVERTER', true)
-header_conf.set('_GNU_SOURCE', true)
-
-header_conf.set('USE_NK_GIT_VERSION', true)
-
-header_conf.set('GLIB_VERSION_MIN_REQUIRED', '(G_ENCODE_VERSION(@0@,@1@))'.format(glib_min_major, glib_min_minor))
-header_conf.set('GLIB_VERSION_MAX_ALLOWED', '(G_ENCODE_VERSION(@0@,@1@))'.format(glib_min_major, glib_min_minor))
-
-header_conf.set('ENABLE_DRUN', get_option('drun'))
-header_conf.set('HAVE_LIBGIF', libgif.found())
-header_conf.set('WINDOW_MODE', get_option('window'))
-
-header_conf.set_quoted('MANPAGE_PATH', join_paths(get_option('prefix'), get_option('mandir')))
-header_conf.set_quoted('SYSCONFDIR', join_paths(get_option('prefix'), get_option('sysconfdir')))
-header_conf.set_quoted('PLUGIN_PATH', join_paths(get_option('prefix'), plugindir))
-header_conf.set_quoted('THEME_DIR', join_paths(get_option('prefix'), themedir))
-
-config_h = configure_file(output: 'config.h', configuration: header_conf)
-
-nk_options = [
- 'bindings=true',
- 'xdg-theme=true',
- 'git-work-tree=@0@'.format(meson.source_root()),
-]
-nk = subproject('libnkutils', default_options: nk_options)
-nk_subproject_options = nk.get_variable('nk_options')
-foreach o : nk_options + nk_subproject_options
- if not nk_options.contains(o) or not nk_subproject_options.contains(o)
- error('You must not change libnkutils options @0@ != @1@'.format('|'.join(nk_options), '|'.join(nk_subproject_options)))
- endif
-endforeach
-deps += nk.get_variable('libnkutils')
-deps += nk.get_variable('libnkutils_bindings')
-
-install_headers([
- 'include/mode.h',
- 'include/mode-private.h',
- 'include/helper.h',
- 'include/rofi-types.h',
- 'include/rofi-icon-fetcher.h'
- ],
- subdir: meson.project_name(),
-)
-install_data(
- 'script/rofi-sensible-terminal',
- 'script/rofi-theme-selector',
- install_dir: join_paths(get_option('prefix'), get_option('bindir'))
-)
-
-flex = generator(find_program('flex'),
- output: '@BASENAME@.c',
- arguments: [ '-o', '@OUTPUT@', '@INPUT@' ]
-)
-bison = generator(find_program('bison'),
- output: [ '@BASENAME@.c', '@BASENAME@.h' ],
- arguments: [ '-d', '@INPUT@', '--defines=@OUTPUT1@', '--output=@OUTPUT0@' ]
-)
-
-rofi_sources = files(
- 'source/rofi.c',
- 'source/view.c',
- 'source/mode.c',
- 'source/keyb.c',
- 'config/config.c',
- 'source/helper.c',
- 'source/timings.c',
- 'source/history.c',
- 'source/theme.c',
- 'source/rofi-icon-fetcher.c',
- 'source/css-colors.c',
- 'source/widgets/box.c',
- 'source/widgets/icon.c',
- 'source/widgets/container.c',
- 'source/widgets/widget.c',
- 'source/widgets/textbox.c',
- 'source/widgets/listview.c',
- 'source/widgets/scrollbar.c',
- 'source/xrmoptions.c',
- 'source/rofi-types.c',
- 'source/xcb.c',
- 'source/dialogs/run.c',
- 'source/dialogs/ssh.c',
- 'source/dialogs/drun.c',
- 'source/dialogs/dmenu.c',
- 'source/dialogs/combi.c',
- 'source/dialogs/window.c',
- 'source/dialogs/script.c',
- 'source/dialogs/help-keys.c',
- 'source/dialogs/filebrowser.c',
- 'include/display.h',
- 'include/xcb.h',
- 'include/xcb-internal.h',
- 'include/rofi.h',
- 'include/mode.h',
- 'include/mode-private.h',
- 'include/settings.h',
- 'include/keyb.h',
- 'include/view.h',
- 'include/view-internal.h',
- 'include/rofi-icon-fetcher.h',
- 'include/helper.h',
- 'include/helper-theme.h',
- 'include/timings.h',
- 'include/history.h',
- 'include/theme.h',
- 'include/rofi-types.h',
- 'include/css-colors.h',
- 'include/widgets/box.h',
- 'include/widgets/icon.h',
- 'include/widgets/container.h',
- 'include/widgets/widget.h',
- 'include/widgets/widget-internal.h',
- 'include/widgets/textbox.h',
- 'include/widgets/listview.h',
- 'include/widgets/scrollbar.h',
- 'include/xrmoptions.h',
- 'include/dialogs/ssh.h',
- 'include/dialogs/run.h',
- 'include/dialogs/drun.h',
- 'include/dialogs/dmenu.h',
- 'include/dialogs/combi.h',
- 'include/dialogs/script.h',
- 'include/dialogs/window.h',
- 'include/dialogs/dialogs.h',
- 'include/dialogs/help-keys.h',
- 'include/dialogs/filebrowser.h',
- 'include/dialogs/dmenuscriptshared.h',
-)
-theme_lexer_sources = files('lexer/theme-lexer.l')
-theme_parser_sources = files('lexer/theme-parser.y')
-
-theme_lexer = flex.process(theme_lexer_sources)
-theme_parser = bison.process(theme_parser_sources)
-
-gnome = import('gnome')
-default_theme = gnome.compile_resources('resources', files('resources/resources.xml'))
-
-rofi = executable('rofi', rofi_sources + [
- theme_lexer,
- theme_parser,
- default_theme,
- ],
- dependencies: deps,
- install: true,
-)
-
-subdir('doc')
-install_man(
- 'doc/rofi.1',
- 'doc/rofi-theme-selector.1',
- 'doc/rofi-sensible-terminal.1',
- 'doc/rofi-script.5',
- 'doc/rofi-theme.5',
-)
-
-install_data(
- 'themes/Adapta-Nokto.rasi',
- 'themes/Arc.rasi',
- 'themes/Arc-Dark.rasi',
- 'themes/DarkBlue.rasi',
- 'themes/Pop-Dark.rasi',
- 'themes/Indego.rasi',
- 'themes/Monokai.rasi',
- 'themes/Paper.rasi',
- 'themes/android_notification.rasi',
- 'themes/arthur.rasi',
- 'themes/blue.rasi',
- 'themes/c64.rasi',
- 'themes/dmenu.rasi',
- 'themes/glue_pro_blue.rasi',
- 'themes/gruvbox-common.rasi',
- 'themes/gruvbox-dark-hard.rasi',
- 'themes/gruvbox-dark-soft.rasi',
- 'themes/gruvbox-dark.rasi',
- 'themes/gruvbox-light-hard.rasi',
- 'themes/gruvbox-light-soft.rasi',
- 'themes/gruvbox-light.rasi',
- 'themes/lb.rasi',
- 'themes/paper-float.rasi',
- 'themes/purple.rasi',
- 'themes/sidebar.rasi',
- 'themes/solarized.rasi',
- 'themes/solarized_alternate.rasi',
- 'themes/fancy.rasi',
- install_dir: themedir
-)
-
-pkg = import('pkgconfig')
-
-pkg.generate(
- filebase: 'rofi',
- name: 'rofi',
- version: meson.project_version(),
- description: 'Header files for rofi plugins',
- variables: [
- 'pluginsdir=@0@'.format(join_paths('${libdir}', meson.project_name())),
- ],
- requires_private: plugins_deps,
-)
-
-
-test('history test', executable('history.test', [
- 'test/history-test.c',
- ],
- objects: rofi.extract_objects([
- 'source/history.c',
- 'config/config.c',
- ]),
- dependencies: deps,
-))
-
-test('helper_pidfile test', executable('helper_pidfile.test', [
- 'test/helper-pidfile.c',
- ],
- objects: rofi.extract_objects([
- 'config/config.c',
- 'source/helper.c',
- 'source/xrmoptions.c',
- 'source/rofi-types.c',
- ]),
- dependencies: deps,
-))
-
-
-test('widget test', executable('widget.test', [
- 'test/widget-test.c',
- theme_parser,
- theme_lexer,
- ],
- objects: rofi.extract_objects([
- 'source/widgets/widget.c',
- 'source/widgets/textbox.c',
- 'source/theme.c',
- 'source/rofi-types.c',
- 'source/css-colors.c',
- 'source/helper.c',
- 'config/config.c',
- ]),
- dependencies: deps,
-))
-
-test('box test', executable('box.test', [
- 'test/box-test.c',
- theme_parser,
- theme_lexer,
- ],
- objects: rofi.extract_objects([
- 'source/widgets/widget.c',
- 'source/widgets/box.c',
- 'source/theme.c',
- 'source/rofi-types.c',
- 'source/css-colors.c',
- 'config/config.c',
- ]),
- dependencies: deps,
-))
-
-test('scrollbar test', executable('scrollbar.test', [
- 'test/scrollbar-test.c',
- theme_parser,
- theme_lexer,
- ],
- objects: rofi.extract_objects([
- 'source/widgets/widget.c',
- 'source/widgets/scrollbar.c',
- 'source/theme.c',
- 'source/rofi-types.c',
- 'source/css-colors.c',
- 'config/config.c',
- ]),
- dependencies: deps,
-))
-
-test('textbox test', executable('textbox.test', [
- 'test/textbox-test.c',
- theme_parser,
- theme_lexer,
- ],
- objects: rofi.extract_objects([
- 'source/widgets/widget.c',
- 'source/widgets/textbox.c',
- 'source/theme.c',
- 'source/rofi-types.c',
- 'source/css-colors.c',
- 'source/helper.c',
- 'config/config.c',
- ]),
- dependencies: deps,
-))
-
-test('helper test', executable('helper.test', [
- 'test/helper-test.c',
- ],
- objects: rofi.extract_objects([
- 'config/config.c',
- 'source/helper.c',
- 'source/xrmoptions.c',
- 'source/rofi-types.c',
- ]),
- dependencies: deps,
-))
-
-test('helper_expand test', executable('helper_expand.test', [
- 'test/helper-expand.c',
- ],
- objects: rofi.extract_objects([
- 'config/config.c',
- 'source/helper.c',
- 'source/xrmoptions.c',
- 'source/rofi-types.c',
- ]),
- dependencies: deps,
-))
-
-test('helper_config_cmdline_parser test', executable('helper_config_cmdline_parser.test', [
- 'test/helper-config-cmdline-parser.c',
- ],
- objects: rofi.extract_objects([
- 'config/config.c',
- 'source/helper.c',
- 'source/xrmoptions.c',
- 'source/rofi-types.c',
- ]),
- dependencies: deps,
-))
-
-if check.found()
- deps+= [ check ]
-
- test('theme_parser test', executable('theme_parser.test', [
- 'test/theme-parser-test.c',
- theme_lexer,
- theme_parser,
- ],
- objects: rofi.extract_objects([
- 'config/config.c',
- 'source/helper.c',
- 'source/xrmoptions.c',
- 'source/theme.c',
- 'source/rofi-types.c',
- 'source/css-colors.c',
- ]),
- dependencies: deps,
- ))
-
- test('mode test', executable('mode.test', [
- 'test/mode-test.c',
- ],
- objects: rofi.extract_objects([
- 'config/config.c',
- 'source/dialogs/help-keys.c',
- 'source/helper.c',
- 'source/mode.c',
- 'source/xrmoptions.c',
- 'source/rofi-types.c',
- 'source/keyb.c',
- ]),
- dependencies: deps,
- ))
-
- test('helper_tokenize test', executable('helper_tokenize.test', [
- 'test/helper-tokenize.c',
- ],
- objects: rofi.extract_objects([
- 'config/config.c',
- 'source/helper.c',
- 'source/xrmoptions.c',
- 'source/rofi-types.c',
- ]),
- dependencies: deps,
- ))
-endif
-
-
-run_target('test-x', command: [ 'test/run_all_tests.sh' ], depends: [ rofi ])
-
-uncrustify = find_program('uncrustify', required: false)
-if uncrustify.found()
- run_target('indent',
- command: [
- uncrustify,
- '-c', join_paths(meson.source_root(), 'data', 'uncrustify.cfg'),
- '--replace',
- rofi_sources
- ],
- )
-endif
-
-rofi_sources += theme_lexer_sources
-rofi_sources += theme_parser_sources
-
-cppcheck = find_program('cppcheck', required: false)
-if cppcheck.found()
- run_target('cppcheck',
- command: [
- cppcheck,
- '--std=@0@'.format(get_option('c_std')),
- '--platform=unix64',
- '--enable=all',
- '-Uerror_dialog',
- '--inconclusive',
- '-I@0@'.format(join_paths(meson.source_root(), 'include')),
- rofi_sources
- ],
- )
-endif
-
-ohcount = find_program('ohcount', required: false)
-if ohcount.found()
- run_target('ohcount',
- command: [
- ohcount,
- rofi_sources
- ],
- )
-endif