build: remove intermediate static library

We don't really need to build an intermediate static library, and
it's causing pain wrt. include directories and dependencies.
This commit is contained in:
Simon Ser 2021-04-17 12:06:16 +02:00
parent f8f188a73e
commit d1328e2f4b
2 changed files with 23 additions and 38 deletions

View file

@ -61,26 +61,27 @@ add_project_arguments('-DHAVE_' + sdbus.name().to_upper() + '=1', language: 'c')
subdir('protocols')
xdpw_files = files([
'src/core/main.c',
'src/core/logger.c',
'src/core/config.c',
'src/core/request.c',
'src/core/session.c',
'src/core/timer.c',
'src/core/timespec_util.c',
'src/screenshot/screenshot.c',
'src/screencast/screencast.c',
'src/screencast/screencast_common.c',
'src/screencast/wlr_screencast.c',
'src/screencast/pipewire_screencast.c',
'src/screencast/fps_limit.c',
])
executable(
'xdg-desktop-portal-wlr',
files([
'src/core/main.c',
'src/core/logger.c',
'src/core/config.c',
'src/core/request.c',
'src/core/session.c',
'src/core/timer.c',
'src/core/timespec_util.c',
'src/screenshot/screenshot.c',
'src/screencast/screencast.c',
'src/screencast/screencast_common.c',
'src/screencast/wlr_screencast.c',
'src/screencast/pipewire_screencast.c',
'src/screencast/fps_limit.c'
]),
[xdpw_files, wl_proto_files],
dependencies: [
wayland_client,
wlr_protos,
sdbus,
pipewire,
rt,

View file

@ -13,38 +13,22 @@ client_protocols = [
'xdg-output-unstable-v1.xml',
]
wl_protos_src = []
wl_protos_headers = []
wl_proto_files = []
foreach xml: client_protocols
wl_protos_src += custom_target(
xml.underscorify() + '_server_c',
code = custom_target(
xml.underscorify() + '_c',
input: xml,
output: '@BASENAME@-protocol.c',
command: [wayland_scanner, 'private-code', '@INPUT@', '@OUTPUT@'],
)
wl_protos_headers += custom_target(
xml.underscorify() + '_server_h',
input: xml,
output: '@BASENAME@-protocol.h',
command: [wayland_scanner, 'server-header', '@INPUT@', '@OUTPUT@'],
)
wl_protos_headers += custom_target(
client_header = custom_target(
xml.underscorify() + '_client_h',
input: xml,
output: '@BASENAME@-client-protocol.h',
command: [wayland_scanner, 'client-header', '@INPUT@', '@OUTPUT@'],
)
wl_proto_files += [code, client_header]
endforeach
lib_wl_protos = static_library(
'wl_protos',
wl_protos_src + wl_protos_headers,
dependencies: wayland_client.partial_dependency(compile_args: true),
)
wlr_protos = declare_dependency(
link_with: lib_wl_protos,
sources: wl_protos_headers,
)