X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fcmake%2Flibrary.cmake;h=dc14ae59e460720b3455c1395fa4b9dfece79b7c;hb=62a7fe28933b6310b9a4e3a0fab99949587576ac;hp=9ed53e9dba742d18f9acc1716ebf40a9306cb22f;hpb=4c64b6edc86f7732f4a160b948b3386e4021a265;p=vpp.git diff --git a/src/cmake/library.cmake b/src/cmake/library.cmake index 9ed53e9dba7..dc14ae59e46 100644 --- a/src/cmake/library.cmake +++ b/src/cmake/library.cmake @@ -14,29 +14,45 @@ macro(add_vpp_library lib) cmake_parse_arguments(ARG "" - "" + "COMPONENT" "SOURCES;MULTIARCH_SOURCES;API_FILES;LINK_LIBRARIES;INSTALL_HEADERS;DEPENDS" ${ARGN} ) add_library(${lib} SHARED ${ARG_SOURCES}) + if(VPP_LIB_VERSION) + set_target_properties(${lib} PROPERTIES SOVERSION ${VPP_LIB_VERSION}) + endif() # library deps if(ARG_LINK_LIBRARIES) target_link_libraries(${lib} ${ARG_LINK_LIBRARIES}) endif() # install .so - install(TARGETS ${lib} DESTINATION ${VPP_LIB_DIR_NAME}) + if(NOT ARG_COMPONENT) + set(ARG_COMPONENT vpp) + endif() + install( + TARGETS ${lib} + DESTINATION lib + COMPONENT ${ARG_COMPONENT} + ) if(ARG_MULTIARCH_SOURCES) vpp_library_set_multiarch_sources(${lib} ${ARG_MULTIARCH_SOURCES}) endif() if(ARG_API_FILES) - vpp_add_api_files(${lib} ${ARG_API_FILES}) + vpp_add_api_files(${lib} core vpp ${ARG_API_FILES}) foreach(file ${ARG_API_FILES}) get_filename_component(dir ${file} DIRECTORY) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${file}.h DESTINATION include/${lib}/${dir}) + install( + FILES ${file} ${CMAKE_CURRENT_BINARY_DIR}/${file}.h + ${CMAKE_CURRENT_BINARY_DIR}/${file}_enum.h + ${CMAKE_CURRENT_BINARY_DIR}/${file}_types.h + DESTINATION include/${lib}/${dir} + COMPONENT vpp-dev + ) endforeach() endif() @@ -48,7 +64,11 @@ macro(add_vpp_library lib) if(ARG_INSTALL_HEADERS) foreach(file ${ARG_INSTALL_HEADERS}) get_filename_component(dir ${file} DIRECTORY) - install(FILES ${file} DESTINATION include/${lib}/${dir}) + install( + FILES ${file} + DESTINATION include/${lib}/${dir} + COMPONENT ${ARG_COMPONENT}-dev + ) endforeach() endif() endmacro() @@ -59,6 +79,10 @@ endmacro() function (add_vpp_headers path) foreach(file ${ARGN}) get_filename_component(dir ${file} DIRECTORY) - install(FILES ${file} DESTINATION include/${path}/${dir}) + install( + FILES ${file} + DESTINATION include/${path}/${dir} + COMPONENT vpp-dev + ) endforeach() endfunction()