cmake: add vpp_plugin_find_library macro
[vpp.git] / src / cmake / plugin.cmake
index 1cff910..1565170 100644 (file)
@@ -21,7 +21,7 @@ macro(add_vpp_plugin name)
   set(plugin_name ${name}_plugin)
   set(api_includes)
   if(NOT PLUGIN_COMPONENT)
-    set(PLUGIN_COMPONENT vpp-plugin-misc)
+    set(PLUGIN_COMPONENT vpp-plugin-core)
   endif()
   if(NOT PLUGIN_DEV_COMPONENT)
     if(NOT VPP_EXTERNAL_PROJECT)
@@ -44,6 +44,7 @@ macro(add_vpp_plugin name)
     )
   endforeach()
   add_library(${plugin_name} SHARED ${PLUGIN_SOURCES} ${api_includes})
+  set_target_properties(${plugin_name} PROPERTIES NO_SONAME 1)
   target_compile_options(${plugin_name} PRIVATE -Wall)
   if(NOT VPP_EXTERNAL_PROJECT)
     add_dependencies(${plugin_name} vpp_version_h api_headers)
@@ -74,6 +75,7 @@ macro(add_vpp_plugin name)
     set(test_plugin_name ${name}_test_plugin)
     add_library(${test_plugin_name} SHARED ${PLUGIN_API_TEST_SOURCES}
                ${api_includes})
+    set_target_properties(${test_plugin_name} PROPERTIES NO_SONAME 1)
     if(NOT VPP_EXTERNAL_PROJECT)
       add_dependencies(${test_plugin_name} api_headers)
     endif()
@@ -93,3 +95,11 @@ macro(add_vpp_plugin name)
   )
 endmacro()
 
+macro(vpp_plugin_find_library plugin var name)
+  find_library(${var} NAMES ${name} ${ARGN})
+if (NOT ${var})
+  message(WARNING "-- ${name} library not found - ${plugin} plugin disabled")
+  return()
+endif()
+    message(STATUS "${plugin} plugin needs ${name} library - found at ${${var}}")
+endmacro()