diff options
-rw-r--r-- | src/cmake/cpu.cmake | 5 | ||||
-rw-r--r-- | src/cmake/library.cmake | 2 | ||||
-rw-r--r-- | src/cmake/plugin.cmake | 8 |
3 files changed, 10 insertions, 5 deletions
diff --git a/src/cmake/cpu.cmake b/src/cmake/cpu.cmake index c7ad1a4a0bc..37bc24c09b5 100644 --- a/src/cmake/cpu.cmake +++ b/src/cmake/cpu.cmake @@ -121,12 +121,15 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64.*|AARCH64.*)") endif() endif() -macro(vpp_library_set_multiarch_sources lib) +macro(vpp_library_set_multiarch_sources lib deps) foreach(V ${MARCH_VARIANTS}) list(GET V 0 VARIANT) list(GET V 1 VARIANT_FLAGS) set(l ${lib}_${VARIANT}) add_library(${l} OBJECT ${ARGN}) + if("${deps}") + add_dependencies(${l} ${deps}) + endif() set_target_properties(${l} PROPERTIES POSITION_INDEPENDENT_CODE ON) target_compile_options(${l} PUBLIC "-DCLIB_MARCH_VARIANT=${VARIANT}") separate_arguments(VARIANT_FLAGS) diff --git a/src/cmake/library.cmake b/src/cmake/library.cmake index d6a63d325e9..06248a57aa3 100644 --- a/src/cmake/library.cmake +++ b/src/cmake/library.cmake @@ -39,7 +39,7 @@ macro(add_vpp_library lib) ) if(ARG_MULTIARCH_SOURCES) - vpp_library_set_multiarch_sources(${lib} ${ARG_MULTIARCH_SOURCES}) + vpp_library_set_multiarch_sources(${lib} "${ARG_DEPENDS}" ${ARG_MULTIARCH_SOURCES}) endif() if(ARG_API_FILES) 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}) |