build: add option to specify supported OS list for plugin 44/40544/2
authorDamjan Marion <damarion@cisco.com>
Fri, 15 Mar 2024 19:03:41 +0000 (19:03 +0000)
committerMohammed HAWARI <momohawari@gmail.com>
Mon, 18 Mar 2024 16:01:25 +0000 (16:01 +0000)
Type: improvement
Change-Id: I0d6f11d5ece19c5e0e00dfdadc9d4c09274ae8e1
Signed-off-by: Damjan Marion <damarion@cisco.com>
src/cmake/plugin.cmake
src/plugins/af_packet/CMakeLists.txt
src/plugins/af_xdp/CMakeLists.txt
src/plugins/dma_intel/CMakeLists.txt
src/plugins/perfmon/CMakeLists.txt

index 4997d9a..df96aa8 100644 (file)
@@ -15,9 +15,13 @@ macro(add_vpp_plugin name)
   cmake_parse_arguments(PLUGIN
     ""
     "LINK_FLAGS;COMPONENT;DEV_COMPONENT"
-    "SOURCES;API_FILES;MULTIARCH_SOURCES;MULTIARCH_FORCE_ON;LINK_LIBRARIES;INSTALL_HEADERS;API_TEST_SOURCES;VAT_AUTO_TEST"
+    "SOURCES;API_FILES;MULTIARCH_SOURCES;MULTIARCH_FORCE_ON;LINK_LIBRARIES;INSTALL_HEADERS;API_TEST_SOURCES;VAT_AUTO_TEST;SUPPORTED_OS_LIST"
     ${ARGN}
   )
+  if (PLUGIN_SUPPORTED_OS_LIST AND NOT ${CMAKE_SYSTEM_NAME} IN_LIST PLUGIN_SUPPORTED_OS_LIST)
+    message(WARNING "unsupported OS - ${name} plugin disabled")
+    return()
+  endif()
   set(plugin_name ${name}_plugin)
   set(api_includes)
   if(NOT PLUGIN_COMPONENT)
index 4b79615..818a031 100644 (file)
@@ -33,4 +33,6 @@ add_vpp_plugin(af_packet
 
   #  API_TEST_SOURCES
   #af_packet_test_api.c
+
+  SUPPORTED_OS_LIST Linux
 )
index 1097358..fd7ee4e 100644 (file)
@@ -70,4 +70,6 @@ add_vpp_plugin(af_xdp
   ${BPF_LIB}
   ${ELF_LIB}
   ${Z_LIB}
+
+  SUPPORTED_OS_LIST Linux
 )
index 8fd8cd1..b683036 100644 (file)
@@ -6,4 +6,6 @@ add_vpp_plugin(dma_intel
   dsa.c
   format.c
   main.c
+
+  SUPPORTED_OS_LIST Linux
 )
index 8e3ab1b..d820eb2 100644 (file)
@@ -62,4 +62,6 @@ add_vpp_plugin(perfmon
 
   COMPONENT
   vpp-plugin-devtools
+
+  SUPPORTED_OS_LIST Linux
 )