srcs_weston = [ git_version_h, 'main.c', 'text-backend.c', 'weston-screenshooter.c', text_input_unstable_v1_server_protocol_h, text_input_unstable_v1_protocol_c, input_method_unstable_v1_server_protocol_h, input_method_unstable_v1_protocol_c, weston_screenshooter_server_protocol_h, weston_screenshooter_protocol_c, ] deps_weston = [ dep_libshared, dep_libweston, dep_libinput, dep_libdl, dep_threads, ] if get_option('xwayland') srcs_weston += 'xwayland.c' config_h.set_quoted('XSERVER_PATH', get_option('xwayland-path')) endif exe_weston = executable( 'weston', srcs_weston, include_directories: include_directories('..', '../shared'), link_args: [ '-Wl,-export-dynamic' ], dependencies: deps_weston, install: true ) install_headers('weston.h', subdir: 'weston') pkgconfig.generate( filebase: 'weston', name: 'Weston Plugin API', version: version_weston, description: 'Header files for Weston plugin development', requires_private: [ lib_weston ], variables: [ 'libexecdir=' + join_paths('${prefix}', get_option('libexecdir')), 'pkglibexecdir=${libexecdir}/weston' ], subdirs: 'weston' ) install_data( 'weston.desktop', install_dir: join_paths(dir_data, 'wayland-sessions') ) if get_option('screenshare') srcs_screenshare = [ 'screen-share.c', fullscreen_shell_unstable_v1_client_protocol_h, fullscreen_shell_unstable_v1_protocol_c, ] deps_screenshare = [ dep_libweston, dep_wayland_client, ] plugin_screenshare = shared_library( 'screen-share', srcs_screenshare, include_directories: include_directories('..', '../shared'), dependencies: deps_screenshare, name_prefix: '', install: true, install_dir: dir_module_weston ) env_modmap += 'screen-share.so=@0@;'.format(plugin_screenshare.full_path()) endif if get_option('color-management-lcms') config_h.set('HAVE_LCMS', '1') srcs_lcms = [ 'cms-static.c', 'cms-helper.c', ] dep_lcms2 = dependency('lcms2', required: false) if not dep_lcms2.found() error('cms-static requires lcms2 which was not found. Or, you can use \'-Dcolor-management-lcms=false\'.') endif plugin_lcms = shared_library( 'cms-static', srcs_lcms, include_directories: include_directories('..', '../shared'), dependencies: [ dep_libweston, dep_lcms2 ], name_prefix: '', install: true, install_dir: dir_module_weston ) env_modmap += 'cms-static.so=@0@;'.format(plugin_lcms.full_path()) endif if get_option('color-management-colord') if not get_option('color-management-lcms') error('LCMS must be enabled to support colord') endif srcs_colord = [ 'cms-colord.c', 'cms-helper.c', ] dep_colord = dependency('colord', version: '>= 0.1.27', required: false) if not dep_colord.found() error('cms-colord requires colord >= 0.1.27 which was not found. Or, you can use \'-Dcolor-management-colord=false\'.') endif plugin_colord = shared_library( 'cms-colord', srcs_colord, include_directories: include_directories('..', '../shared'), dependencies: [ dep_libweston, dep_colord ], name_prefix: '', install: true, install_dir: dir_module_weston ) env_modmap += 'cms-colord.so=@0@;'.format(plugin_colord.full_path()) endif if get_option('systemd') dep_libsystemd = dependency('libsystemd', required: false) if not dep_libsystemd.found() error('systemd-notify requires libsystemd which was not found. Or, you can use \'-Dsystemd=false\'.') endif plugin_systemd_notify = shared_library( 'systemd-notify', 'systemd-notify.c', include_directories: include_directories('..', '../shared'), dependencies: [ dep_libweston, dep_libsystemd ], name_prefix: '', install: true, install_dir: dir_module_weston ) env_modmap += 'systemd-notify.so=@0@;'.format(plugin_systemd_notify.full_path()) endif weston_ini_config = configuration_data() weston_ini_config.set('bindir', dir_bin) weston_ini_config.set('libexecdir', dir_libexec) weston_ini_config.set('abs_top_srcdir', meson.source_root()) weston_ini_config.set('abs_top_builddir', meson.build_root()) configure_file( input: '../weston.ini.in', output: 'weston.ini', configuration: weston_ini_config )