X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fcmake%2Flibrary.cmake;h=984d6eb8d7538b2e5d0958a3b8b0e97885bc22ab;hb=bb5d22d;hp=66b4dffe5752402adc67024146a234671998e7a2;hpb=6462742d82ce462ac6acaec09f3306ae56a50762;p=vpp.git diff --git a/src/cmake/library.cmake b/src/cmake/library.cmake index 66b4dffe575..984d6eb8d75 100644 --- a/src/cmake/library.cmake +++ b/src/cmake/library.cmake @@ -14,20 +14,30 @@ 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}) target_compile_options(${lib} PRIVATE -Wall) + 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}) @@ -37,7 +47,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 ${CMAKE_CURRENT_BINARY_DIR}/${file}.h + DESTINATION include/${lib}/${dir} + COMPONENT vpp-dev + ) endforeach() endif() @@ -49,7 +63,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() @@ -60,6 +78,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()