misc: move part of vpe apis to vlibmemory
[vpp.git] / src / cmake / library.cmake
index d19eb3c..c80d7f2 100644 (file)
@@ -108,6 +108,36 @@ function (add_vpp_headers path)
   endforeach()
 endfunction()
 
+macro(add_vat_test_library lib)
+  cmake_parse_arguments(TEST
+    ""
+    ""
+    ${ARGN}
+  )
+
+  foreach(file ${ARGN})
+    get_filename_component(name ${file} NAME_WE)
+    set(test_lib ${lib}_${name}_plugin)
+    add_library(${test_lib} SHARED ${file})
+    target_compile_options(${test_lib} PUBLIC ${VPP_DEFAULT_MARCH_FLAGS})
+    if(NOT VPP_EXTERNAL_PROJECT)
+      add_dependencies(${test_lib} api_headers)
+    endif()
+    include_directories(${CMAKE_CURRENT_BINARY_DIR})
+    set_target_properties(${test_lib} PROPERTIES NO_SONAME 1)
+    set_target_properties(${test_lib} PROPERTIES
+      PREFIX ""
+      LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/vpp_api_test_plugins)
+
+    # install .so
+    install(
+      TARGETS ${test_lib}
+      DESTINATION ${VPP_LIBRARY_DIR}/vpp_api_test_plugins
+      COMPONENT ${ARG_COMPONENT}
+    )
+  endforeach()
+endmacro()
+
 macro(add_vpp_test_library lib)
   cmake_parse_arguments(TEST
     ""