- add_library(${plugin_name} SHARED ${PLUGIN_SOURCES} ${api_headers})
- target_compile_options(${plugin_name} PRIVATE -Wall)
- add_dependencies(${plugin_name} vpp_version_h api_headers)
+ add_library(${plugin_name} SHARED ${api_includes} ${PLUGIN_SOURCES})
+ 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")
+ target_compile_options (${plugin_name} PRIVATE "-fdata-sections")
+ target_link_libraries (${plugin_name} "-Wl,--gc-sections")
+ set(deps "")
+ if(NOT VPP_EXTERNAL_PROJECT)
+ list(APPEND deps vpp_version_h api_headers)
+ endif()
+ if(PLUGIN_API_FILES)
+ list(APPEND deps ${plugin_name}_api_headers)
+ endif()
+ if(deps)
+ add_dependencies(${plugin_name} ${deps})
+ endif()