X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=extras%2Fvom%2Fvom%2FCMakeLists.txt;h=7413df8d8340f58bf85273065fe657824f47a66f;hb=33b81da54acf1236cddf0716005c340f3402ff6d;hp=c9ff7aa41ee06472968461ff8f2aaeefe3894fa0;hpb=d4d7e8ad84cb24cee31f10d5bfedab715df65754;p=vpp.git diff --git a/extras/vom/vom/CMakeLists.txt b/extras/vom/vom/CMakeLists.txt index c9ff7aa41ee..7413df8d834 100644 --- a/extras/vom/vom/CMakeLists.txt +++ b/extras/vom/vom/CMakeLists.txt @@ -16,11 +16,12 @@ unset (ACL_FILE) unset (NAT_FILE) unset (L2E_FILE) unset (GBP_FILE) +unset (IGMP_FILE) unset (VOM_SOURCES) unset (VOM_HEADERS) -find_library(VAPICLIENT_LIB NAMES vapiclient REQUIRED HINTS ${VPP_LIB_DIR_HINT}) -find_path(VAPICLIENT_INCLUDE_DIR NAMES vapi/vapi.hpp HINTS ${VPP_INCLUDE_DIR_HINT}) +find_library(VAPICLIENT_LIB NAMES vapiclient REQUIRED) +find_path(VAPICLIENT_INCLUDE_DIR NAMES vapi/vapi.hpp) if(NOT VAPICLIENT_INCLUDE_DIR OR NOT VAPICLIENT_LIB) message(FATAL_ERROR "Cannot find vapiclient library and/or headers") @@ -29,10 +30,11 @@ endif() include_directories(${VAPICLIENT_INCLUDE_DIR}) include_directories(${CMAKE_SOURCE_DIR}) -find_file(ACL_FILE NAMES acl.api.vapi.hpp PATH_SUFFIXES vapi HINTS ${VPP_INCLUDE_DIR_HINT}) -find_file(NAT_FILE NAMES nat.api.vapi.hpp PATH_SUFFIXES vapi HINTS ${VPP_INCLUDE_DIR_HINT}) -find_file(L2E_FILE NAMES l2e.api.vapi.hpp PATH_SUFFIXES vapi HINTS ${VPP_INCLUDE_DIR_HINT}) -find_file(GBP_FILE NAMES gbp.api.vapi.hpp PATH_SUFFIXES vapi HINTS ${VPP_INCLUDE_DIR_HINT}) +find_file(ACL_FILE NAMES acl.api.vapi.hpp PATH_SUFFIXES vapi) +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 @@ -66,16 +68,32 @@ endif() 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_rule.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() @@ -112,6 +130,8 @@ list(APPEND VOM_SOURCES 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 @@ -172,11 +192,22 @@ endif() if(GBP_FILE) list(APPEND VOM_HEADERS + gbp_contract.hpp + gbp_bridge_domain.hpp gbp_endpoint.hpp gbp_endpoint_group.hpp - gbp_subnet.hpp gbp_recirc.hpp - gbp_contract.hpp + gbp_route_domain.hpp + gbp_rule.hpp + gbp_subnet.hpp + gbp_vxlan.hpp + ) +endif() + +if(IGMP_FILE) + list(APPEND VOM_HEADERS + igmp_binding.hpp + igmp_listen.hpp ) endif() @@ -202,6 +233,7 @@ list(APPEND VOM_HEADERS interface_cmds.hpp interface_ip6_nd.hpp interface_span.hpp + ip_punt_redirect.hpp ip_unnumbered.hpp l2_binding.hpp l2_xconnect.hpp @@ -228,12 +260,15 @@ list(APPEND VOM_HEADERS 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 ${VOM_LIB_DIR_NAME}) -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 +)