${CMAKE_CURRENT_BINARY_DIR}
)
-macro(add_vpp_plugin name)
- cmake_parse_arguments(PLUGIN
- ""
- "LINK_FLAGS"
- "SOURCES;API_FILES;MULTIARCH_SOURCES;LINK_LIBRARIES"
- ${ARGN}
- )
- set(plugin_name ${name}_plugin)
- set(api_headers)
- foreach(f ${PLUGIN_API_FILES})
- vpp_generate_api_header(${f} plugins)
- list(APPEND api_headers ${f}.h ${f}.json)
- endforeach()
- add_library(${plugin_name} SHARED ${PLUGIN_SOURCES} ${api_headers})
- add_dependencies(${plugin_name} vpp_version_h api_headers)
- set_target_properties(${plugin_name} PROPERTIES
- PREFIX ""
- LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/vpp_plugins)
- if(PLUGIN_MULTIARCH_SOURCES)
- vpp_library_set_multiarch_sources(${plugin_name} ${PLUGIN_MULTIARCH_SOURCES})
- endif()
- if(PLUGIN_LINK_LIBRARIES)
- target_link_libraries(${plugin_name} ${PLUGIN_LINK_LIBRARIES})
- endif()
- if(PLUGIN_LINK_FLAGS)
- set_target_properties(${plugin_name} PROPERTIES LINK_FLAGS "${PLUGIN_LINK_FLAGS}")
- endif()
- install(TARGETS ${plugin_name} DESTINATION lib/vpp_plugins COMPONENT plugins)
-endmacro()
-
-macro(add_vpp_api_test_plugin plugin_name)
- set(api_headers)
- foreach(f ${ARGN})
- if(${f} MATCHES ".*\.api$")
- vpp_generate_api_header(${f} plugins)
- list(APPEND api_headers ${f}.h)
- endif()
- endforeach()
- add_library(${plugin_name} SHARED ${ARGN} ${api_headers})
- add_dependencies(${plugin_name} api_headers)
- set_target_properties(${plugin_name} PROPERTIES PREFIX "")
- set_target_properties(${plugin_name} PROPERTIES
- PREFIX ""
- LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}//vpp_api_test_plugins)
- install(TARGETS ${plugin_name} DESTINATION lib/vpp_api_test_plugins COMPONENT
- plugins)
-endmacro()
-
##############################################################################
# find and add all plugin subdirs
-############################################################################
+##############################################################################
FILE(GLOB files RELATIVE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/*/CMakeLists.txt