diff --git a/meson.build b/meson.build index cbc625b..ae545ab 100644 --- a/meson.build +++ b/meson.build @@ -56,165 +56,16 @@ config_h.set_quoted('EIS_VERSION', meson.project_version()) config_h.set('EI_PROTOCOL_VERSION', protocol_version) config_h.set('EIS_PROTOCOL_VERSION', protocol_version) -subdir('proto') - -src_libutil = files( - 'src/util-bits.c', - 'src/util-io.c', - 'src/util-list.c', - 'src/util-logger.c', - 'src/util-memfile.c', - 'src/util-sources.c', - 'src/util-strings.c', -) - -lib_util = static_library('util', src_libutil) - -dep_libutil = declare_dependency(link_with: lib_util) - -src_libei = files( - 'src/brei-shared.c', - 'src/libei.c', - 'src/libei-device.c', - 'src/libei-event.c', - 'src/libei-fd.c', - 'src/libei-log.c', - 'src/libei-proto.c', - 'src/libei-region.c', - 'src/libei-seat.c', - 'src/libei-socket.c', -) + [proto_headers] - -deps_libei = [ - dep_libutil, - dep_protobuf, -] - -lib_libei = shared_library('ei', - src_libei, - dependencies: deps_libei, - include_directories: [inc_proto], - gnu_symbol_visibility: 'hidden', - install: true -) -install_headers('src/libei.h') - -dep_libei = declare_dependency(link_with: lib_libei, - include_directories: [inc_src]) -meson.override_dependency('libei', dep_libei) - -pkgconfig.generate(lib_libei, - filebase: 'libei', - name: 'libEI', - description: 'Emulated Input client library', - version: meson.project_version(), - libraries: lib_libei, - variables: [ - 'protocol_version=' + protocol_version.to_string(), - ], -) - -src_libeis = files( - 'src/brei-shared.c', - 'src/libeis.c', - 'src/libeis-client.c', - 'src/libeis-device.c', - 'src/libeis-event.c', - 'src/libeis-fd.c', - 'src/libeis-log.c', - 'src/libeis-proto.c', - 'src/libeis-region.c', - 'src/libeis-seat.c', - 'src/libeis-socket.c', -) + [proto_headers] - -lib_libeis = shared_library('eis', - src_libeis, - dependencies: [dep_libutil, dep_protobuf], - include_directories: [inc_proto], - gnu_symbol_visibility: 'hidden', - install: true -) -install_headers('src/libeis.h') - -dep_libeis = declare_dependency(link_with: lib_libeis, - include_directories: [inc_src]) -meson.override_dependency('libeis', dep_libeis) - -pkgconfig.generate(lib_libeis, - filebase: 'libeis', - name: 'libEIS', - description: 'Emulated Input server library', - version: meson.project_version(), - libraries: lib_libeis, - variables: [ - 'protocol_version=' + protocol_version.to_string(), - ], -) - +# Depeendencies for the demo tools dep_libxkbcommon = dependency('xkbcommon', required: false) config_h.set10('HAVE_LIBXKBCOMMON', dep_libxkbcommon.found()) dep_libevdev = dependency('libevdev', required: false) config_h.set10('HAVE_LIBEVDEV', dep_libevdev.found()) - -src_eis_demo_server = files( - 'tools/eis-demo-server.c', -) -if dep_libevdev.found() - src_eis_demo_server += files( - 'tools/eis-demo-server-uinput.c', - ) -endif - - -executable('eis-demo-server', - src_eis_demo_server, - dependencies: [ - dep_libutil, - dep_libeis, - dep_libxkbcommon, - dep_libevdev - ]) - -executable('ei-demo-client', - 'tools/ei-demo-client.c', - dependencies: [dep_libutil, dep_libei, dep_libxkbcommon]) - -executable('ei-debug-events', - 'tools/ei-debug-events.c', - dependencies: [dep_libutil, dep_libei, dep_libevdev], - install: true) - dep_systemd = dependency('libsystemd', required: get_option('liboeffis')) -build_oeffis = dep_systemd.found() -if build_oeffis - src_liboeffis = files('src/liboeffis.c') - deps_liboeffis = [dep_libutil, dep_systemd] - lib_liboeffis = shared_library('oeffis', - src_liboeffis, - dependencies: deps_liboeffis, - gnu_symbol_visibility: 'hidden', - install: true - ) - install_headers('src/liboeffis.h') - - dep_liboeffis = declare_dependency(link_with: lib_liboeffis, - include_directories: [inc_src]) - meson.override_dependency('liboeffis', dep_liboeffis) - - pkgconfig.generate(lib_liboeffis, - filebase: 'liboeffis', - name: 'libOeffis', - description: 'RemoteDesktop portal DBus helper library', - version: meson.project_version(), - libraries: lib_liboeffis, - ) - - executable('oeffis-demo-tool', - 'tools/oeffis-demo-tool.c', - dependencies: [dep_libutil, dep_liboeffis]) -endif +subdir('proto') +subdir('src') +subdir('tools') # tests if get_option('tests') diff --git a/src/meson.build b/src/meson.build new file mode 100644 index 0000000..4fa8fcf --- /dev/null +++ b/src/meson.build @@ -0,0 +1,124 @@ +src_libutil = files( + 'util-bits.c', + 'util-io.c', + 'util-list.c', + 'util-logger.c', + 'util-memfile.c', + 'util-sources.c', + 'util-strings.c', +) + +lib_util = static_library('util', + src_libutil, + include_directories: [inc_builddir], +) + +dep_libutil = declare_dependency(link_with: lib_util) + +src_libei = files( + 'brei-shared.c', + 'libei.c', + 'libei-device.c', + 'libei-event.c', + 'libei-fd.c', + 'libei-log.c', + 'libei-proto.c', + 'libei-region.c', + 'libei-seat.c', + 'libei-socket.c', +) + [proto_headers] + +deps_libei = [ + dep_libutil, + dep_protobuf, +] + +lib_libei = shared_library('ei', + src_libei, + dependencies: deps_libei, + include_directories: [inc_proto, inc_builddir], + gnu_symbol_visibility: 'hidden', + install: true +) +install_headers('libei.h') + +dep_libei = declare_dependency(link_with: lib_libei, + include_directories: [inc_src]) +meson.override_dependency('libei', dep_libei) + +pkgconfig.generate(lib_libei, + filebase: 'libei', + name: 'libEI', + description: 'Emulated Input client library', + version: meson.project_version(), + libraries: lib_libei, + variables: [ + 'protocol_version=' + protocol_version.to_string(), + ], +) + +src_libeis = files( + 'brei-shared.c', + 'libeis.c', + 'libeis-client.c', + 'libeis-device.c', + 'libeis-event.c', + 'libeis-fd.c', + 'libeis-log.c', + 'libeis-proto.c', + 'libeis-region.c', + 'libeis-seat.c', + 'libeis-socket.c', +) + [proto_headers] + +lib_libeis = shared_library('eis', + src_libeis, + dependencies: [dep_libutil, dep_protobuf], + include_directories: [inc_proto, inc_builddir], + gnu_symbol_visibility: 'hidden', + install: true +) +install_headers('libeis.h') + +dep_libeis = declare_dependency(link_with: lib_libeis, + include_directories: [inc_src]) +meson.override_dependency('libeis', dep_libeis) + +pkgconfig.generate(lib_libeis, + filebase: 'libeis', + name: 'libEIS', + description: 'Emulated Input server library', + version: meson.project_version(), + libraries: lib_libeis, + variables: [ + 'protocol_version=' + protocol_version.to_string(), + ], +) + +build_oeffis = dep_systemd.found() +if build_oeffis + src_liboeffis = files('liboeffis.c') + deps_liboeffis = [dep_libutil, dep_systemd] + + lib_liboeffis = shared_library('oeffis', + src_liboeffis, + include_directories: [inc_builddir], + dependencies: deps_liboeffis, + gnu_symbol_visibility: 'hidden', + install: true + ) + install_headers('liboeffis.h') + + dep_liboeffis = declare_dependency(link_with: lib_liboeffis, + include_directories: [inc_src]) + meson.override_dependency('liboeffis', dep_liboeffis) + + pkgconfig.generate(lib_liboeffis, + filebase: 'liboeffis', + name: 'libOeffis', + description: 'RemoteDesktop portal DBus helper library', + version: meson.project_version(), + libraries: lib_liboeffis, + ) + +endif diff --git a/tools/meson.build b/tools/meson.build new file mode 100644 index 0000000..cac1a2c --- /dev/null +++ b/tools/meson.build @@ -0,0 +1,40 @@ +src_eis_demo_server = files( + 'eis-demo-server.c', +) +if dep_libevdev.found() + src_eis_demo_server += files( + 'eis-demo-server-uinput.c', + ) +endif + +executable('eis-demo-server', + src_eis_demo_server, + dependencies: [ + dep_libutil, + dep_libeis, + dep_libxkbcommon, + dep_libevdev + ], + include_directories: [inc_builddir], +) + +executable('ei-demo-client', + 'ei-demo-client.c', + dependencies: [dep_libutil, dep_libei, dep_libxkbcommon], + include_directories: [inc_builddir], +) + +executable('ei-debug-events', + 'ei-debug-events.c', + dependencies: [dep_libutil, dep_libei, dep_libevdev], + include_directories: [inc_builddir], + install: true +) + +if build_oeffis + executable('oeffis-demo-tool', + 'oeffis-demo-tool.c', + include_directories: [inc_builddir], + dependencies: [dep_libutil, dep_liboeffis], + ) +endif