summaryrefslogtreecommitdiffstats
path: root/src/cmake/plugin.cmake
diff options
context:
space:
mode:
authorDamjan Marion <damarion@cisco.com>2018-09-13 20:02:12 +0200
committerMarco Varlese <marco.varlese@suse.de>2018-09-14 14:00:51 +0000
commiteeadc14ee2c945eb53ae4cc3c6262499e896afb5 (patch)
tree544d348cf19b7635dee5eb266b83827ecd8801ce /src/cmake/plugin.cmake
parent77bc1a5fb1d5b08e9fc24fc1190a5d640aabd2a1 (diff)
cpack: add deb/rpm packaging to VPP module
This allows easy packaging of external projects, including VOM and sample plugin. i.e. $ make -C build-root PLATFORM=vpp TAG=vpp sample-plugin-install $ ninja -C build-root/build-vpp-native/sample-plugin package ninja: Entering directory `build-root/build-vpp-native/sample-plugin' [0/1] Run CPack packaging tool... CPack: Create package using DEB CPack: Install projects CPack: - Install project: sample-plugin CPack: - Install component: vpp-plugin-sample CPack: - Install component: vpp-plugin-sample-dev CPack: Create package CPack: - package: build-root/build-vpp-native/sample-plugin/vpp-plugin-sample_18.10~rc0~413~g1433e9d1-1_amd64.deb generated. CPack: - package: build-root/build-vpp-native/sample-plugin/vpp-plugin-sample-dev_18.10~rc0~413~g1433e9d1-1_amd64.deb generated. Change-Id: I6b3ec2433961e53edd976b19659ce214d272c40a Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'src/cmake/plugin.cmake')
-rw-r--r--src/cmake/plugin.cmake12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/cmake/plugin.cmake b/src/cmake/plugin.cmake
index f68c955f64f..1cff910db5f 100644
--- a/src/cmake/plugin.cmake
+++ b/src/cmake/plugin.cmake
@@ -14,7 +14,7 @@
macro(add_vpp_plugin name)
cmake_parse_arguments(PLUGIN
""
- "LINK_FLAGS;COMPONENT"
+ "LINK_FLAGS;COMPONENT;DEV_COMPONENT"
"SOURCES;API_FILES;MULTIARCH_SOURCES;LINK_LIBRARIES;INSTALL_HEADERS;API_TEST_SOURCES"
${ARGN}
)
@@ -23,6 +23,14 @@ macro(add_vpp_plugin name)
if(NOT PLUGIN_COMPONENT)
set(PLUGIN_COMPONENT vpp-plugin-misc)
endif()
+ if(NOT PLUGIN_DEV_COMPONENT)
+ if(NOT VPP_EXTERNAL_PROJECT)
+ set(PLUGIN_DEV_COMPONENT vpp-dev)
+ else()
+ set(PLUGIN_DEV_COMPONENT ${PLUGIN_COMPONENT}-dev)
+ endif()
+ endif()
+
file(RELATIVE_PATH rpath ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
foreach(f ${PLUGIN_API_FILES})
get_filename_component(dir ${f} DIRECTORY)
@@ -32,7 +40,7 @@ macro(add_vpp_plugin name)
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/${f}.h
DESTINATION include/vpp_plugins/${name}/${dir}
- COMPONENT vpp-dev
+ COMPONENT ${PLUGIN_DEV_COMPONENT}
)
endforeach()
add_library(${plugin_name} SHARED ${PLUGIN_SOURCES} ${api_includes})