diff options
author | Wu Xiaotian <[email protected]> | 2019-06-19 22:04:32 +0800 |
---|---|---|
committer | lukefromdc <[email protected]> | 2019-07-13 22:26:39 +0000 |
commit | d86c29b0e518f765e7570573c76bc033fbd17f6d (patch) | |
tree | a4ac9135d5328c8955f4a60b70ee86a5ee22150c /src | |
parent | 9c6676b1efa27aa103b5eddb28f97488a63a5190 (diff) | |
download | marco-d86c29b0e518f765e7570573c76bc033fbd17f6d.tar.bz2 marco-d86c29b0e518f765e7570573c76bc033fbd17f6d.tar.xz |
switch to use meson build system
Diffstat (limited to 'src')
-rw-r--r-- | src/meson.build | 243 | ||||
-rw-r--r-- | src/themes/meson.build | 20 | ||||
-rw-r--r-- | src/tools/meson.build | 33 | ||||
-rw-r--r-- | src/wm-tester/meson.build | 65 |
4 files changed, 361 insertions, 0 deletions
diff --git a/src/meson.build b/src/meson.build new file mode 100644 index 00000000..eb5a5820 --- /dev/null +++ b/src/meson.build @@ -0,0 +1,243 @@ +cargs = ['-DG_LOG_DOMAIN="marco"'] + +install_headers([ + 'include/boxes.h', + 'ui/gradient.h', + 'include/util.h', + 'include/common.h', + 'ui/preview-widget.h', + 'ui/theme-parser.h', + 'ui/theme.h' + ], + subdir : 'marco-1/marco-private' +) + +libmarco = shared_library( + 'marco-private', + sources : [ + 'core/async-getprop.c', + 'core/async-getprop.h', + 'core/atomnames.h', + 'core/bell.c', + 'core/bell.h', + 'core/boxes.c', + 'include/boxes.h', + 'compositor/compositor.c', + 'compositor/compositor-private.h', + 'compositor/compositor-xrender.c', + 'compositor/compositor-xrender.h', + 'include/compositor.h', + 'core/constraints.c', + 'core/constraints.h', + 'core/core.c', + 'core/delete.c', + 'core/display.c', + 'core/display-private.h', + 'include/display.h', + 'ui/draw-workspace.c', + 'ui/draw-workspace.h', + 'core/edge-resistance.c', + 'core/edge-resistance.h', + 'core/effects.c', + 'core/effects.h', + 'core/errors.c', + 'include/errors.h', + 'core/eventqueue.c', + 'core/eventqueue.h', + 'core/frame.c', + 'core/frame-private.h', + 'include/frame.h', + 'ui/gradient.c', + 'ui/gradient.h', + 'core/group-private.h', + 'core/group-props.c', + 'core/group-props.h', + 'core/group.c', + 'core/group.h', + 'core/iconcache.c', + 'core/iconcache.h', + 'core/keybindings.c', + 'core/keybindings.h', + 'core/main.c', + 'include/main.h', + 'core/marco-Xatomtype.h', + 'core/place.c', + 'core/place.h', + 'core/prefs.c', + 'include/prefs.h', + 'core/screen.c', + 'core/screen-private.h', + 'include/screen.h', + 'include/types.h', + 'core/session.c', + 'core/session.h', + 'core/stack.c', + 'core/stack.h', + 'core/util.c', + 'include/util.h', + 'core/window-props.c', + 'core/window-props.h', + 'core/window.c', + 'core/window-private.h', + 'include/window.h', + 'core/workspace.c', + 'core/workspace.h', + 'core/xprops.c', + 'include/xprops.h', + 'include/common.h', + 'include/core.h', + 'include/ui.h', + 'ui/fixedtip.c', + 'ui/fixedtip.h', + 'ui/frames.c', + 'ui/frames.h', + 'ui/menu.c', + 'ui/menu.h', + 'ui/metaaccellabel.c', + 'ui/metaaccellabel.h', + 'ui/preview-widget.c', + 'ui/preview-widget.h', + 'ui/resizepopup.c', + 'include/resizepopup.h', + 'ui/tabpopup.c', + 'include/tabpopup.h', + 'ui/tile-preview.c', + 'include/tile-preview.h', + 'ui/theme-parser.c', + 'ui/theme-parser.h', + 'ui/theme.c', + 'ui/theme.h', + 'ui/ui.c', + 'include/all-keybindings.h', + ], + include_directories : [ + include_directories('.'), + include_directories('..'), + include_directories('include'), + ], + dependencies : marco_deps, + soversion: soversion, + version: libversion, + c_args : cargs, + install: true, +) + +executable('marco', + 'core/main.c', + 'include/main.h', + include_directories : [ + include_directories('.'), + include_directories('..'), + include_directories('./include'), + ], + dependencies : marco_deps, + link_with : [ + libmarco + ], + c_args : cargs, + install: true, +) +executable('marco-theme-viewer', + 'ui/theme-viewer.c', + include_directories : [ + include_directories('.'), + include_directories('..'), + include_directories('./include'), + ], + dependencies : marco_deps, + link_with : [ + libmarco, + ], + install: true, +) + +executable('testboxes', + 'include/util.h', + 'core/util.c', + 'include/boxes.h', + 'core/boxes.c', + 'core/testboxes.c', + include_directories : [ + include_directories('.'), + include_directories('..'), + include_directories('./include'), + ], + dependencies : marco_deps, +) + +executable('testgradient', + 'ui/gradient.h', + 'ui/gradient.c', + 'ui/testgradient.c', + dependencies : marco_deps, +) + +executable('testasyncgetprop', + 'core/async-getprop.h', + 'core/async-getprop.c', + 'core/testasyncgetprop.c', + dependencies : marco_deps, +) + +gnome = import('gnome') +i18n = import('i18n') + +i18n.merge_file( + input: 'marco.desktop.in', + output: 'marco.desktop', + type: 'desktop', + po_dir: join_paths(meson.source_root(), 'po'), + install: true, + install_dir: join_paths(get_option('datadir'), 'applications') + ) + +i18n.merge_file( + input: 'marco-wm.desktop.in', + output: 'marco-wm.desktop', + type: 'desktop', + po_dir: join_paths(meson.source_root(), 'po'), + install: true, + install_dir: join_paths(datadir, 'mate', 'wm-properties') + ) + +compiled_schemas = gnome.compile_schemas() +install_data('org.mate.marco.gschema.xml', + install_dir : 'share/glib-2.0/schemas') + +xml_files = [ + '50-marco-desktop-key.xml', + '50-marco-window-key.xml', + '50-marco-global-key.xml', + ] + +foreach xml : xml_files + i18n.merge_file(xml, + input: xml+ '.in', + output: xml, + po_dir: '../po', + data_dirs: '..', + install: true, + install_dir: join_paths(get_option('datadir'), 'mate-control-center', 'keybindings') + ) +endforeach + +pkconf = configuration_data() +pkconf.set('prefix', prefix) +pkconf.set('exec_prefix', prefix) +pkconf.set('libdir', libdir) +pkconf.set('includedir', includedir) +pkconf.set('libexecdir', libexecdir) +pkconf.set('VERSION', meson.project_version()) + +pc = configure_file( + input : 'libmarco-private.pc.in', + output : 'libmarco-private.pc', + configuration : pkconf +) + +install_data(pc, + install_dir: join_paths(get_option('libdir'), 'pkgconfig'), +) +subdir('wm-tester') +subdir('tools') +subdir('themes') diff --git a/src/themes/meson.build b/src/themes/meson.build new file mode 100644 index 00000000..e11da1f5 --- /dev/null +++ b/src/themes/meson.build @@ -0,0 +1,20 @@ +themes = [ + 'ClearlooksRe', + 'eOS', + 'DustBlue', + 'WinMe', + 'Splint-Left', + 'Dopple', + 'Spidey-Left', + 'Splint', + 'Dopple-Left', + 'Spidey', +] + +themedir = join_paths(datadir, 'themes') +foreach theme: themes + install_subdir(theme, + install_dir : join_paths(themedir, theme, 'metacity-1'), + strip_directory : true + ) +endforeach diff --git a/src/tools/meson.build b/src/tools/meson.build new file mode 100644 index 00000000..c6f1b4a9 --- /dev/null +++ b/src/tools/meson.build @@ -0,0 +1,33 @@ +cargs = ['-DMARCO_ICON_DIR="marco"'] + +install_data('marco-window-demo.png', + install_dir: join_paths(pkgdatadir, 'icons') +) + +executable('marco-message', + 'marco-message.c', + include_directories : [ + include_directories('.'), + include_directories('..'), + ], + dependencies: marco_message_deps, + link_with : [ + libmarco + ], + c_args : cargs, + install: true, +) + +executable('marco-window-demo', + 'marco-window-demo.c', + include_directories : [ + include_directories('.'), + include_directories('..'), + ], + dependencies: marco_window_demo_deps, + link_with : [ + libmarco + ], + c_args : cargs, + install: true, +) diff --git a/src/wm-tester/meson.build b/src/wm-tester/meson.build new file mode 100644 index 00000000..14d8c8bf --- /dev/null +++ b/src/wm-tester/meson.build @@ -0,0 +1,65 @@ +test1 = executable('wm-tester', + 'main.c', + include_directories : [ + include_directories('.'), + include_directories('..'), + ], + dependencies: marco_deps, + link_with : [ + libmarco + ], +) + +test2 = executable('test-gravity', + 'test-gravity.c', + include_directories : [ + include_directories('.'), + include_directories('..'), + ], + dependencies: marco_deps, + link_with : [ + libmarco + ], +) + +test3 = executable('test-resizing', + 'test-resizing.c', + include_directories : [ + include_directories('.'), + include_directories('..'), + ], + dependencies: marco_deps, + link_with : [ + libmarco + ], +) + +test4 = executable('focus-window', + 'focus-window.c', + include_directories : [ + include_directories('.'), + include_directories('..'), + ], + dependencies: marco_deps, + link_with : [ + libmarco + ], +) + +test5 = executable('test-size-hints', + 'test-size-hints.c', + include_directories : [ + include_directories('.'), + include_directories('..'), + ], + dependencies: marco_deps, + link_with : [ + libmarco + ], +) + +test('wm-tester', test1) +test('test-gravity', test2) +test('test-resizing', test3) +test('focus-window', test4) +test('test-size-hints', test5) |