cmake_parse_arguments(PLUGIN
""
"LINK_FLAGS;COMPONENT;DEV_COMPONENT"
- "SOURCES;API_FILES;MULTIARCH_SOURCES;LINK_LIBRARIES;INSTALL_HEADERS;API_TEST_SOURCES;"
+ "SOURCES;API_FILES;MULTIARCH_SOURCES;MULTIARCH_FORCE_ON;LINK_LIBRARIES;INSTALL_HEADERS;API_TEST_SOURCES;"
${ARGN}
)
set(plugin_name ${name}_plugin)
)
endforeach()
add_library(${plugin_name} SHARED ${api_includes} ${PLUGIN_SOURCES})
+ target_compile_options(${plugin_name} PUBLIC ${VPP_DEFAULT_MARCH_FLAGS})
set_target_properties(${plugin_name} PROPERTIES NO_SONAME 1)
target_compile_options(${plugin_name} PRIVATE "-fvisibility=hidden")
target_compile_options (${plugin_name} PRIVATE "-ffunction-sections")
PREFIX ""
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/vpp_plugins)
if(PLUGIN_MULTIARCH_SOURCES)
- vpp_library_set_multiarch_sources(${plugin_name} SOURCES ${PLUGIN_MULTIARCH_SOURCES} DEPENDS ${deps})
+ vpp_library_set_multiarch_sources(${plugin_name}
+ SOURCES ${PLUGIN_MULTIARCH_SOURCES}
+ DEPENDS ${deps}
+ FORCE_ON ${PLUGIN_MULTIARCH_FORCE_ON}
+ )
endif()
if(PLUGIN_LINK_LIBRARIES)
target_link_libraries(${plugin_name} ${PLUGIN_LINK_LIBRARIES})
set(test_plugin_name ${name}_test_plugin)
add_library(${test_plugin_name} SHARED ${PLUGIN_API_TEST_SOURCES}
${api_includes})
+ target_compile_options(${test_plugin_name} PUBLIC ${VPP_DEFAULT_MARCH_FLAGS})
set_target_properties(${test_plugin_name} PROPERTIES NO_SONAME 1)
if(NOT VPP_EXTERNAL_PROJECT)
add_dependencies(${test_plugin_name} api_headers)
macro(vpp_plugin_find_library plugin var name)
find_library(${var} NAMES ${name} ${ARGN})
+ mark_as_advanced(${var})
if (NOT ${var})
message(WARNING "-- ${name} library not found - ${plugin} plugin disabled")
return()