unset (NAT_FILE)
unset (L2E_FILE)
unset (GBP_FILE)
+unset (IGMP_FILE)
unset (VOM_SOURCES)
unset (VOM_HEADERS)
find_file(NAT_FILE NAMES nat.api.vapi.hpp PATH_SUFFIXES vapi)
find_file(L2E_FILE NAMES l2e.api.vapi.hpp PATH_SUFFIXES vapi)
find_file(GBP_FILE NAMES gbp.api.vapi.hpp PATH_SUFFIXES vapi)
+find_file(IGMP_FILE NAMES igmp.api.vapi.hpp PATH_SUFFIXES vapi)
if(ACL_FILE)
list(APPEND VOM_SOURCES
if(GBP_FILE)
list(APPEND VOM_SOURCES
- gbp_recirc_cmds.cpp
- gbp_recirc.cpp
- gbp_subnet_cmds.cpp
- gbp_subnet.cpp
+ gbp_contract_cmds.cpp
+ gbp_contract.cpp
+ gbp_bridge_domain_cmds.cpp
+ gbp_bridge_domain.cpp
gbp_endpoint_cmds.cpp
gbp_endpoint.cpp
gbp_endpoint_group_cmds.cpp
gbp_endpoint_group.cpp
- gbp_contract_cmds.cpp
- gbp_contract.cpp
+ gbp_recirc_cmds.cpp
+ gbp_recirc.cpp
+ gbp_route_domain_cmds.cpp
+ gbp_route_domain.cpp
+ gbp_subnet_cmds.cpp
+ gbp_subnet.cpp
+ gbp_vxlan.cpp
+ gbp_vxlan_cmds.cpp
+ )
+endif()
+
+if (IGMP_FILE)
+ list(APPEND VOM_SOURCES
+ igmp_binding_cmds.cpp
+ igmp_binding.cpp
+ igmp_listen_cmds.cpp
+ igmp_listen.cpp
)
endif()
interface_span_cmds.cpp
interface_span.cpp
interface_types.cpp
+ ip_punt_redirect_cmds.cpp
+ ip_punt_redirect.cpp
ip_unnumbered_cmds.cpp
ip_unnumbered.cpp
l2_binding_cmds.cpp
)
endif()
+if(IGMP_FILE)
+ list(APPEND VOM_HEADERS
+ igmp_binding.hpp
+ igmp_listen.hpp
+ )
+endif()
+
list(APPEND VOM_HEADERS
arp_proxy_binding.hpp
arp_proxy_config.hpp
interface_cmds.hpp
interface_ip6_nd.hpp
interface_span.hpp
+ ip_punt_redirect.hpp
ip_unnumbered.hpp
l2_binding.hpp
l2_xconnect.hpp
vxlan_tunnel.hpp
)
-add_library(vom SHARED ${VOM_SOURCES})
-target_link_libraries(vom ${VAPICLIENT_LIB} Threads::Threads boost_thread
- ${BOOST_SYSTEM_LIB} ${BOOST_FILESYSTEM_LIB} ${BOOST_ASIO_LIB} m rt)
add_definitions(-Wall -Werror -std=gnu++11)
-install(TARGETS vom DESTINATION lib)
-foreach(file ${VOM_HEADERS})
- install(FILES ${file} DESTINATION include/vom)
-endforeach()
+add_vpp_library(vom
+ SOURCES ${VOM_SOURCES}
+
+ INSTALL_HEADERS ${VOM_HEADERS}
+
+ LINK_LIBRARIES ${VAPICLIENT_LIB} Threads::Threads boost_thread
+ ${BOOST_SYSTEM_LIB} ${BOOST_FILESYSTEM_LIB} ${BOOST_ASIO_LIB} m rt
+
+ COMPONENT libvom
+)