X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvpp%2FCMakeLists.txt;h=16843f73e8a3e804fbb417a9cf49916d50aa543a;hb=e9b558282293ee28c5eef7cb507dbe3f4a81e5af;hp=b3073deecdbb907b080ec3e6a93913d54c6b79ab;hpb=99ddcc3f8b5549252fcf834e2a25aa39ba0b880e;p=vpp.git diff --git a/src/vpp/CMakeLists.txt b/src/vpp/CMakeLists.txt index b3073deecdb..16843f73e8a 100644 --- a/src/vpp/CMakeLists.txt +++ b/src/vpp/CMakeLists.txt @@ -33,19 +33,30 @@ 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.api stats/stats.api oam/oam.api ) +vpp_add_api_files(vpp ${VPP_API_FILES}) + +foreach(file ${VPP_API_FILES}) + get_filename_component(dir ${file} DIRECTORY) + install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/${file}.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/stats_to_be_deprecated.c stats/stat_segment.c api/api.c api/json_format.c @@ -61,39 +72,54 @@ if(VPP_API_TEST_BUILTIN) 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 +) ############################################################################## # 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(summary_stats_client + SOURCES api/summary_stats_client.c + LINK_LIBRARIES vppinfra svm vlibmemoryclient + DEPENDS api_headers + NO_INSTALL +) -############################################################################## -# install -############################################################################## +add_vpp_executable(vpp_get_stats + SOURCES app/vpp_get_stats.c + LINK_LIBRARIES vppapiclient vppinfra + DEPENDS api_headers +) +add_vpp_executable(vpp_prometheus_export + SOURCES app/vpp_prometheus_export.c + LINK_LIBRARIES vppapiclient vppinfra svm vlibmemoryclient + DEPENDS api_headers +)