meson: Don't define targets for standalone binaries if option is not enabled

These are built from the same sources as the regular binaries, so we
end up with the same sources multiple times in the compilation database
but with different command line arguments, which trips up tooling that
uses the compilation database. Let's not define the standalone targets if
the option is not enabled to avoid this problem.
This commit is contained in:
Daan De Meyer
2025-05-21 13:08:50 +02:00
parent cdd5fac068
commit 1971631294
5 changed files with 7 additions and 11 deletions

View File

@@ -2424,6 +2424,10 @@ foreach dict : executables
continue
endif
if name.endswith('.standalone') and not have_standalone_binaries
continue
endif
kwargs = {}
foreach key, val : dict
if key in ['name', 'dbus', 'public', 'conditions',

View File

@@ -22,7 +22,7 @@ executables += [
},
executable_template + {
'name' : 'systemd-repart.standalone',
'public' : have_standalone_binaries,
'public' : true,
'sources' : files('repart.c'),
'c_args' : '-DSTANDALONE',
'link_with' : [
@@ -37,8 +37,6 @@ executables += [
libopenssl,
threads,
],
'build_by_default' : have_standalone_binaries,
'install' : have_standalone_binaries,
},
]

View File

@@ -28,8 +28,6 @@ executables += [
libsystemd_static,
],
'dependencies' : libmount,
'build_by_default' : have_standalone_binaries,
'install' : have_standalone_binaries,
},
test_template + {
'sources' : files('test-umount.c'),

View File

@@ -13,7 +13,7 @@ executables += [
},
executable_template + {
'name' : 'systemd-sysusers.standalone',
'public' : have_standalone_binaries,
'public' : true,
'sources' : files('sysusers.c'),
'c_args' : '-DSTANDALONE',
'link_with' : [
@@ -22,7 +22,5 @@ executables += [
libsystemd_static,
],
'dependencies' : libaudit,
'build_by_default' : have_standalone_binaries,
'install' : have_standalone_binaries,
},
]

View File

@@ -21,7 +21,7 @@ executables += [
},
executable_template + {
'name' : 'systemd-tmpfiles.standalone',
'public' : have_standalone_binaries,
'public' : true,
'sources' : systemd_tmpfiles_sources + systemd_tmpfiles_extract_sources,
'c_args' : '-DSTANDALONE',
'link_with' : [
@@ -30,8 +30,6 @@ executables += [
libsystemd_static,
],
'dependencies' : libacl,
'build_by_default' : have_standalone_binaries,
'install' : have_standalone_binaries,
},
test_template + {
'sources' : files('test-offline-passwd.c'),