X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvpp%2FCMakeLists.txt;h=8f7c2cfafb2650285c66cd8bf41b300d389f4f6e;hb=dc20371f83ed81462c0b24eb750b76f7819df64a;hp=b3073deecdbb907b080ec3e6a93913d54c6b79ab;hpb=99ddcc3f8b5549252fcf834e2a25aa39ba0b880e;p=vpp.git diff --git a/src/vpp/CMakeLists.txt b/src/vpp/CMakeLists.txt index b3073deecdb..8f7c2cfafb2 100644 --- a/src/vpp/CMakeLists.txt +++ b/src/vpp/CMakeLists.txt @@ -33,23 +33,33 @@ add_custom_target(vpp_version_h ############################################################################## option(VPP_API_TEST_BUILTIN "Use builtin VPP API test." ON) -vpp_add_api_files(vpp_api_headers +set(VPP_API_FILES + api/vpe_types.api api/vpe.api - stats/stats.api - oam/oam.api ) +vpp_add_api_files(vpp core vpp ${VPP_API_FILES}) + +foreach(file ${VPP_API_FILES}) + get_filename_component(dir ${file} DIRECTORY) + install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/${file}.h + ${CMAKE_CURRENT_BINARY_DIR}/${file}_enum.h + ${CMAKE_CURRENT_BINARY_DIR}/${file}_types.h + DESTINATION include/vpp/${dir} + COMPONENT vpp-dev + ) +endforeach() + set(VPP_SOURCES vnet/main.c app/vpe_cli.c app/version.c - oam/oam.c - oam/oam_api.c - stats/stats.c stats/stat_segment.c api/api.c api/json_format.c api/custom_dump.c + api/types.c ) if(VPP_API_TEST_BUILTIN) @@ -57,43 +67,56 @@ if(VPP_API_TEST_BUILTIN) api/api_format.c api/api_main.c api/plugin.c + api/types.c ) add_definitions(-DVPP_API_TEST_BUILTIN=1) endif() -add_executable (vpp ${VPP_SOURCES}) +add_vpp_executable(vpp + ENABLE_EXPORTS + SOURCES ${VPP_SOURCES} + LINK_LIBRARIES svm vlib vppinfra vlibmemory vnet Threads::Threads ${CMAKE_DL_LIBS} + DEPENDS vpp_version_h api_headers +) -target_link_libraries(vpp svm vlib vppinfra vlibmemory vnet Threads::Threads - ${CMAKE_DL_LIBS}) -add_dependencies(vpp vpp_version_h api_headers) -set_target_properties(vpp PROPERTIES ENABLE_EXPORTS 1) -install(TARGETS vpp DESTINATION bin) +add_vpp_headers(vpp + api/vpe_msg_enum.h + api/vpe_all_api_h.h + stats/stat_segment.h + stats/stat_segment_shared.h +) ############################################################################## # vppctl binary ############################################################################## -add_executable(vppctl app/vppctl.c) -target_link_libraries(vppctl vppinfra) -install(TARGETS vppctl DESTINATION bin) +add_vpp_executable(vppctl + SOURCES app/vppctl.c + LINK_LIBRARIES vppinfra +) ############################################################################## # vpp_get_metrics binary ############################################################################## -add_executable (vpp_get_metrics api/vpp_get_metrics.c ${VPP_API_HDRS}) -target_link_libraries (vpp_get_metrics vppinfra svm svmdb) -install(TARGETS vpp_get_metrics DESTINATION bin) +add_vpp_executable(vpp_get_metrics + SOURCES api/vpp_get_metrics.c + LINK_LIBRARIES vppinfra svm svmdb + DEPENDS api_headers +) ############################################################################## # stats binaries ############################################################################## -add_executable(summary_stats_client api/summary_stats_client.c) -add_executable(stat_client app/stat_client.c) -add_dependencies(summary_stats_client api_headers) -add_dependencies(stat_client api_headers) -target_link_libraries(summary_stats_client vppinfra svm vlibmemoryclient) -target_link_libraries(stat_client vppinfra svm vlibmemoryclient) +add_vpp_executable(vpp_get_stats + SOURCES app/vpp_get_stats.c + LINK_LIBRARIES vppapiclient vppinfra + DEPENDS api_headers +) -############################################################################## -# install -############################################################################## +add_vpp_executable(vpp_prometheus_export + SOURCES app/vpp_prometheus_export.c + LINK_LIBRARIES vppapiclient vppinfra svm vlibmemoryclient + DEPENDS api_headers +) +install(FILES conf/startup.conf DESTINATION etc/vpp COMPONENT vpp) +install(FILES conf/80-vpp.conf DESTINATION etc/sysctl.d COMPONENT vpp)