X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=extras%2Fvom%2Fvom%2FCMakeLists.txt;h=bd8986a4864012467555967a61c500f51c9a133d;hb=1c17e2e;hp=5a5e5a7df0e6cf8f6e7d04a66f01203e1154bd4a;hpb=12fe878ac8cd3c62b336cddd0b0e7c8a3771a9fe;p=vpp.git diff --git a/extras/vom/vom/CMakeLists.txt b/extras/vom/vom/CMakeLists.txt index 5a5e5a7df0e..bd8986a4864 100644 --- a/extras/vom/vom/CMakeLists.txt +++ b/extras/vom/vom/CMakeLists.txt @@ -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}) @@ -68,16 +76,25 @@ 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_vxlan.cpp + gbp_vxlan_cmds.cpp ) endif() @@ -151,10 +168,13 @@ list(APPEND VOM_SOURCES 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 ) @@ -185,11 +205,16 @@ 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_vxlan.hpp ) endif() @@ -242,6 +267,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 @@ -256,8 +283,20 @@ add_vpp_library(vom INSTALL_HEADERS ${VOM_HEADERS} - LINK_LIBRARIES ${VAPICLIENT_LIB} Threads::Threads boost_thread - ${BOOST_SYSTEM_LIB} ${BOOST_FILESYSTEM_LIB} ${BOOST_ASIO_LIB} m rt + LINK_LIBRARIES ${VPPAPICLIENT_LIB} ${VAPICLIENT_LIB} Threads::Threads + ${Boost_SYSTEM_LIBRARY} ${Boost_FILESYSTEM_LIBRARY} m rt 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()