vxlan: vxlan/vxlan.api API cleanup
[vpp.git] / extras / vom / vom / CMakeLists.txt
index 5a5e5a7..92a4348 100644 (file)
@@ -11,6 +11,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+unset (VPPAPICLIENT_LIB)
 unset (VAPICLIENT_LIB)
 unset (ACL_FILE)
 unset (NAT_FILE)
@@ -20,13 +21,20 @@ unset (IGMP_FILE)
 unset (VOM_SOURCES)
 unset (VOM_HEADERS)
 
+find_library(VPPAPICLIENT_LIB NAMES vppapiclient REQUIRED)
+find_path(VPPAPICLIENT_INCLUDE_DIR NAMES vpp-api/client/vppapiclient.h)
 find_library(VAPICLIENT_LIB NAMES vapiclient REQUIRED)
 find_path(VAPICLIENT_INCLUDE_DIR NAMES vapi/vapi.hpp)
 
+
+if(NOT VPPAPICLIENT_INCLUDE_DIR OR NOT VPPAPICLIENT_LIB)
+  message(FATAL_ERROR "Cannot find vppapiclient library and/or headers")
+endif()
 if(NOT VAPICLIENT_INCLUDE_DIR OR NOT VAPICLIENT_LIB)
   message(FATAL_ERROR "Cannot find vapiclient library and/or headers")
 endif()
 
+include_directories(${VPPAPICLIENT_INCLUDE_DIR})
 include_directories(${VAPICLIENT_INCLUDE_DIR})
 include_directories(${CMAKE_SOURCE_DIR})
 
@@ -42,10 +50,11 @@ if(ACL_FILE)
     acl_binding.cpp
     acl_ethertype_cmds.cpp
     acl_ethertype.cpp
+    acl_l2_list.cpp
     acl_l2_rule.cpp
+    acl_l3_list.cpp
     acl_l3_rule.cpp
     acl_list_cmds.cpp
-    acl_list.cpp
     acl_types.cpp
   )
 endif()
@@ -68,16 +77,26 @@ 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_ext_itf.cpp
+    gbp_ext_itf_cmds.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_types.hpp
+    gbp_vxlan.cpp
+    gbp_vxlan_cmds.cpp
   )
 endif()
 
@@ -129,6 +148,8 @@ list(APPEND VOM_SOURCES
   ip_unnumbered.cpp
   l2_binding_cmds.cpp
   l2_binding.cpp
+  l2_vtr.cpp
+  l2_vtr_cmds.cpp
   l2_xconnect_cmds.cpp
   l2_xconnect.cpp
   l3_binding_cmds.cpp
@@ -141,20 +162,35 @@ list(APPEND VOM_SOURCES
   neighbour.cpp
   neighbour_cmds.cpp
   object_base.cpp
+  mroute_cmds.cpp
   om.cpp
   pipe.cpp
   pipe_cmds.cpp
   prefix.cpp
+  qos_map.cpp
+  qos_map_cmds.cpp
+  qos_mark.cpp
+  qos_mark_cmds.cpp
+  qos_record.cpp
+  qos_record_cmds.cpp
+  qos_store.cpp
+  qos_store_cmds.cpp
+  qos_types.cpp
+  qos_types_api.cpp
   ra_config.cpp
   ra_prefix.cpp
   route.cpp
+  route_api_types.cpp
   route_cmds.cpp
   route_domain.cpp
   route_domain_cmds.cpp
+  stat_client.cpp
+  stat_reader.cpp
   sub_interface_cmds.cpp
   sub_interface.cpp
   tap_interface.cpp
   tap_interface_cmds.cpp
+  vxlan_gbp_tunnel_cmds.cpp
   vxlan_tunnel_cmds.cpp
   vxlan_tunnel.cpp
 )
@@ -165,7 +201,8 @@ if(ACL_FILE)
     acl_ethertype.hpp
     acl_l2_rule.hpp
     acl_l3_rule.hpp
-    acl_list.hpp
+    acl_l3_list.hpp
+    acl_l2_list.hpp
     acl_types.hpp
   )
 endif()
@@ -185,11 +222,17 @@ 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_ext_itf.hpp
     gbp_recirc.hpp
-    gbp_contract.hpp
+    gbp_route_domain.hpp
+    gbp_rule.hpp
+    gbp_subnet.hpp
+    gbp_types.hpp
+    gbp_vxlan.hpp
   )
 endif()
 
@@ -225,6 +268,7 @@ list(APPEND VOM_HEADERS
   ip_punt_redirect.hpp
   ip_unnumbered.hpp
   l2_binding.hpp
+  l2_vtr.hpp
   l2_xconnect.hpp
   l3_binding.hpp
   lldp_binding.hpp
@@ -235,6 +279,11 @@ list(APPEND VOM_HEADERS
   om.hpp
   pipe.hpp
   prefix.hpp
+  qos_map.hpp
+  qos_mark.hpp
+  qos_record.hpp
+  qos_store.hpp
+  qos_types.hpp
   ra_config.hpp
   ra_prefix.hpp
   route.hpp
@@ -242,6 +291,8 @@ list(APPEND VOM_HEADERS
   rpc_cmd.hpp
   singular_db.hpp
   singular_db_funcs.hpp
+  stat_client.hpp
+  stat_reader.hpp
   sub_interface.hpp
   tap_interface.hpp
   types.hpp
@@ -249,15 +300,24 @@ list(APPEND VOM_HEADERS
   vxlan_tunnel.hpp
 )
 
-add_definitions(-Wall -Werror -std=gnu++11)
-
-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
+add_definitions(-Wall -Werror -std=gnu++11 -g)
+add_library(vom SHARED ${VOM_SOURCES})
+if (VOM_LIB_VERSION)
+  set_target_properties(vom PROPERTIES SOVERSION ${VOM_LIB_VERSION})
+endif()
+target_link_libraries(vom ${VPPAPICLIENT_LIB} ${VAPICLIENT_LIB} Threads::Threads
+    ${Boost_SYSTEM_LIBRARY} ${Boost_FILESYSTEM_LIBRARY} m rt)
+install(TARGETS vom DESTINATION lib COMPONENT vom)
+install(FILES ${VOM_HEADERS} DESTINATION include/vom COMPONENT vom)
 
-  COMPONENT libvom
-)
+if (Boost_FOUND)
+  if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+    add_definitions(-stdlib=libstdc++)
+  endif()
+  add_executable(vom_stats_test test_stats.cpp)
+  if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+    target_link_libraries(vom_stats_test vom stdc++)
+  else()
+    target_link_libraries(vom_stats_test vom)
+  endif()
+endif()