summary refs log tree commit diff
path: root/clients/cloud-setup/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'clients/cloud-setup/meson.build')
-rw-r--r--clients/cloud-setup/meson.build52
1 files changed, 37 insertions, 15 deletions
diff --git a/clients/cloud-setup/meson.build b/clients/cloud-setup/meson.build
index c29d73df..581dde6a 100644
--- a/clients/cloud-setup/meson.build
+++ b/clients/cloud-setup/meson.build
@@ -1,6 +1,4 @@
-# SPDX-License-Identifier: LGPL-2.1+
-
-name = 'nm-cloud-setup'
+# SPDX-License-Identifier: LGPL-2.1-or-later
 
 if install_systemdunitdir
 
@@ -23,30 +21,54 @@ if install_systemdunitdir
 
 endif
 
-sources = files(
-  'main.c',
-  'nm-cloud-setup-utils.c',
-  'nm-http-client.c',
-  'nmcs-provider-ec2.c',
-  'nmcs-provider-gcp.c',
-  'nmcs-provider-azure.c',
-  'nmcs-provider.c',
+libnm_cloud_setup_core = static_library(
+  'nm-cloud-setup-core',
+  sources: files(
+    'nm-cloud-setup-utils.c',
+    'nm-http-client.c',
+    'nmcs-provider-ec2.c',
+    'nmcs-provider-gcp.c',
+    'nmcs-provider-azure.c',
+    'nmcs-provider.c',
+  ),
+  dependencies: [
+    libnmc_base_dep,
+    libnmc_dep,
+    libcurl_dep,
+    libnm_libnm_aux_dep,
+  ],
+  c_args: [
+    '-DG_LOG_DOMAIN="nm-cloud-setup"',
+  ],
+)
+
+libnm_cloud_setup_core_dep = declare_dependency(
+  include_directories: include_directories('.'),
+  link_with: libnm_cloud_setup_core,
 )
 
 executable(
-  name,
-  sources,
+  'nm-cloud-setup',
+  files(
+    'main.c',
+  ),
   dependencies: [
     libnmc_base_dep,
     libnmc_dep,
     libcurl_dep,
     libnm_libnm_aux_dep,
+    libnm_cloud_setup_core_dep,
+  ],
+  c_args: [
+    '-DG_LOG_DOMAIN="nm-cloud-setup"',
   ],
-  c_args: clients_c_flags +
-          ['-DG_LOG_DOMAIN="@0@"'.format(name)],
   link_with: libnm_systemd_logging_stub,
   link_args: ldflags_linker_script_binary,
   link_depends: linker_script_binary,
   install: true,
   install_dir: nm_libexecdir,
 )
+
+if enable_tests
+  subdir('tests')
+endif