cloud-setup: build intermediate library "libnm-cloud-setup-core.a"

Next we'll add unit tests, hence we need to link against the code
but we don't want to compile it twice.
This commit is contained in:
Thomas Haller 2021-02-09 12:46:47 +01:00
parent 8d6bd2f6c0
commit 94a75c8cd6
No known key found for this signature in database
GPG Key ID: 29C2366E4DFC5728
2 changed files with 43 additions and 7 deletions

View File

@ -4990,10 +4990,9 @@ EXTRA_DIST += \
if BUILD_NM_CLOUD_SETUP
libexec_PROGRAMS += clients/cloud-setup/nm-cloud-setup
noinst_LIBRARIES += clients/cloud-setup/libnm-cloud-setup-core.a
clients_cloud_setup_nm_cloud_setup_SOURCES = \
clients/cloud-setup/main.c \
clients_cloud_setup_libnm_cloud_setup_core_a_SOURCES = \
clients/cloud-setup/nm-cloud-setup-utils.c \
clients/cloud-setup/nm-cloud-setup-utils.h \
clients/cloud-setup/nm-http-client.c \
@ -5008,6 +5007,21 @@ clients_cloud_setup_nm_cloud_setup_SOURCES = \
clients/cloud-setup/nmcs-provider-azure.h \
$(NULL)
clients_cloud_setup_libnm_cloud_setup_core_a_CPPFLAGS = \
$(clients_cppflags) \
-DG_LOG_DOMAIN=\""nm-cloud-setup"\" \
$(LIBCURL_CFLAGS) \
$(NULL)
$(clients_cloud_setup_libnm_cloud_setup_core_a_OBJECTS): $(libnm_core_lib_h_pub_mkenums)
$(clients_cloud_setup_libnm_cloud_setup_core_a_OBJECTS): $(libnm_lib_h_pub_mkenums)
libexec_PROGRAMS += clients/cloud-setup/nm-cloud-setup
clients_cloud_setup_nm_cloud_setup_SOURCES = \
clients/cloud-setup/main.c \
$(NULL)
clients_cloud_setup_nm_cloud_setup_CPPFLAGS = \
$(clients_cppflags) \
-DG_LOG_DOMAIN=\""nm-cloud-setup"\" \
@ -5020,6 +5034,7 @@ clients_cloud_setup_nm_cloud_setup_LDFLAGS = \
$(NULL)
clients_cloud_setup_nm_cloud_setup_LDADD = \
clients/cloud-setup/libnm-cloud-setup-core.a \
libnm/nm-libnm-aux/libnm-libnm-aux.la \
libnm-core/nm-libnm-core-aux/libnm-libnm-core-aux.la \
libnm-core/nm-libnm-core-intern/libnm-libnm-core-intern.la \

View File

@ -21,10 +21,9 @@ if install_systemdunitdir
endif
executable(
'nm-cloud-setup',
files(
'main.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',
@ -41,6 +40,28 @@ executable(
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(
'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"',
],
link_with: libnm_systemd_logging_stub,
link_args: ldflags_linker_script_binary,
link_depends: linker_script_binary,