From 2a65804259e8c139c2d556f1c3e95f435280b4d2 Mon Sep 17 00:00:00 2001 From: Aloys Augustin Date: Tue, 13 Oct 2020 15:43:00 +0200 Subject: build: forward dependencies to arch-specific libs Without this, if a multiarch source depends on a generated api header for instance, the build would be racy between the api header generation and the multiarch object compilation. Type: improvement Signed-off-by: Aloys Augustin Change-Id: I08fcd0e5a1c51398ac1a8f37cf6562064b400d4a --- src/cmake/plugin.cmake | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/cmake/plugin.cmake') diff --git a/src/cmake/plugin.cmake b/src/cmake/plugin.cmake index c37e349477e..1bcff5559ff 100644 --- a/src/cmake/plugin.cmake +++ b/src/cmake/plugin.cmake @@ -45,17 +45,19 @@ macro(add_vpp_plugin name) endforeach() add_library(${plugin_name} SHARED ${PLUGIN_SOURCES} ${api_includes}) set_target_properties(${plugin_name} PROPERTIES NO_SONAME 1) + set(deps "") if(PLUGIN_API_FILES) - add_dependencies(${plugin_name} ${plugin_name}_api_headers) + list(APPEND deps ${plugin_name}_api_headers) endif() if(NOT VPP_EXTERNAL_PROJECT) - add_dependencies(${plugin_name} vpp_version_h api_headers) + list(APPEND deps vpp_version_h api_headers) endif() + add_dependencies(${plugin_name} ${deps}) set_target_properties(${plugin_name} PROPERTIES PREFIX "" LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/vpp_plugins) if(PLUGIN_MULTIARCH_SOURCES) - vpp_library_set_multiarch_sources(${plugin_name} ${PLUGIN_MULTIARCH_SOURCES}) + vpp_library_set_multiarch_sources(${plugin_name} "${deps}" ${PLUGIN_MULTIARCH_SOURCES}) endif() if(PLUGIN_LINK_LIBRARIES) target_link_libraries(${plugin_name} ${PLUGIN_LINK_LIBRARIES}) -- cgit 1.2.3-korg