X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fcmake%2Flibrary.cmake;h=488687c03d8a6621767b48aab11de7e7586f6cd7;hb=adb17a813c7f650c41167713b8c44ba56127bba4;hp=9ed53e9dba742d18f9acc1716ebf40a9306cb22f;hpb=4c64b6edc86f7732f4a160b948b3386e4021a265;p=vpp.git diff --git a/src/cmake/library.cmake b/src/cmake/library.cmake index 9ed53e9dba7..488687c03d8 100644 --- a/src/cmake/library.cmake +++ b/src/cmake/library.cmake @@ -14,19 +14,29 @@ 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}) @@ -36,7 +46,11 @@ macro(add_vpp_library lib) vpp_add_api_files(${lib} ${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 + DESTINATION include/${lib}/${dir} + COMPONENT vpp-dev + ) endforeach() endif() @@ -48,7 +62,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 +77,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()