cmake: set packaging component for different files 19/14719/2
authorDamjan Marion <damarion@cisco.com>
Fri, 7 Sep 2018 10:39:02 +0000 (12:39 +0200)
committerDamjan Marion <dmarion@me.com>
Fri, 7 Sep 2018 19:37:44 +0000 (19:37 +0000)
Change-Id: I033a1f5cdb24f77462cb5ec90a62226d93f52925
Signed-off-by: Damjan Marion <damarion@cisco.com>
src/cmake/api.cmake
src/cmake/library.cmake
src/cmake/plugin.cmake
src/tools/vppapigen/CMakeLists.txt
src/vat/CMakeLists.txt
src/vlib/CMakeLists.txt
src/vlibapi/CMakeLists.txt
src/vpp-api/vapi/CMakeLists.txt
src/vpp/CMakeLists.txt

index 533448a..d799c54 100644 (file)
@@ -26,7 +26,7 @@ function(vpp_generate_api_c_header file)
   )
 endfunction()
 
-function(vpp_generate_api_json_header file dir)
+function(vpp_generate_api_json_header file dir component)
   set (output_name ${CMAKE_CURRENT_BINARY_DIR}/${file}.json)
   get_filename_component(output_dir ${output_name} DIRECTORY)
   add_custom_command (OUTPUT ${output_name}
@@ -36,7 +36,11 @@ function(vpp_generate_api_json_header file dir)
     DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${file}
     COMMENT "Generating API header ${output_name}"
   )
-  install(FILES ${output_name} DESTINATION share/vpp/api/${dir}/)
+  install(
+    FILES ${output_name}
+    DESTINATION share/vpp/api/${dir}/
+    COMPONENT ${component}
+  )
 endfunction()
 
 ##############################################################################
@@ -45,9 +49,9 @@ endfunction()
 #  @param dir  - the install directory under ROOT/share/vpp/api to place the
 #                generated .json file
 ##############################################################################
-function(vpp_generate_api_header file dir)
+function(vpp_generate_api_header file dir component)
     vpp_generate_api_c_header (${file})
-    vpp_generate_api_json_header (${file} ${dir})
+    vpp_generate_api_json_header (${file} ${dir} ${component})
 endfunction()
 
 function(vpp_add_api_files name)
@@ -55,7 +59,7 @@ function(vpp_add_api_files name)
   set(target ${name}_api_headers)
   file(RELATIVE_PATH rpath ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
   foreach(file ${ARGN})
-    vpp_generate_api_header (${file} core)
+    vpp_generate_api_header (${file} core vpp)
     list(APPEND header_files ${file}.h ${file}.json)
     set_property(GLOBAL APPEND PROPERTY VPP_API_FILES ${rpath}/${file})
   endforeach()
index cff5e3e..04165ff 100644 (file)
@@ -76,6 +76,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()
index 9f9a646..c6f551d 100644 (file)
@@ -20,10 +20,13 @@ macro(add_vpp_plugin name)
   )
   set(plugin_name ${name}_plugin)
   set(api_headers)
+  if(NOT PLUGIN_COMPONENT)
+    set(PLUGIN_COMPONENT vpp-plugin-misc)
+  endif()
   file(RELATIVE_PATH rpath ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
   foreach(f ${PLUGIN_API_FILES})
     get_filename_component(dir ${f} DIRECTORY)
-    vpp_generate_api_header(${f} plugins)
+    vpp_generate_api_header(${f} plugins ${PLUGIN_COMPONENT})
     list(APPEND api_headers ${f}.h ${f}.json)
     set_property(GLOBAL APPEND PROPERTY VPP_API_FILES ${rpath}/${f})
     install(
@@ -57,9 +60,6 @@ macro(add_vpp_plugin name)
       )
     endforeach()
   endif()
-  if(NOT PLUGIN_COMPONENT)
-    set(PLUGIN_COMPONENT vpp-plugin-misc)
-  endif()
   if(PLUGIN_API_TEST_SOURCES)
     set(test_plugin_name ${name}_test_plugin)
     add_library(${test_plugin_name} SHARED ${PLUGIN_API_TEST_SOURCES} ${api_headers})
index 2898f50..0d982fe 100644 (file)
@@ -18,6 +18,7 @@ install(
   PERMISSIONS
     OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE
     WORLD_READ WORLD_EXECUTE
+  COMPONENT vpp-dev
 )
 
-install(FILES C.py JSON.py DESTINATION share/vpp)
+install(FILES C.py JSON.py DESTINATION share/vpp COMPONENT vpp-dev)
index feb335c..bc26c3e 100644 (file)
@@ -22,7 +22,7 @@ add_vpp_library(vatplugin
 ##############################################################################
 # vpp_api_test
 ##############################################################################
-add_vpp_executable(vpp_api_test ENABLE_EXPORTS
+add_vpp_executable(vpp_api_test ENABLE_EXPORTS NO_INSTALL
   SOURCES
   api_format.c
   main.c
@@ -41,7 +41,7 @@ add_vpp_executable(vpp_api_test ENABLE_EXPORTS
 ##############################################################################
 #  vpp_json_test
 ##############################################################################
-add_vpp_executable(vpp_json_test ENABLE_EXPORTS
+add_vpp_executable(vpp_json_test ENABLE_EXPORTS NO_INSTALL
   SOURCES json_format.c json_test.c
   LINK_LIBRARIES vppinfra m
 )
@@ -49,7 +49,11 @@ add_vpp_executable(vpp_json_test ENABLE_EXPORTS
 ##############################################################################
 # vat headers
 ##############################################################################
-install(FILES vat.h json_format.h DESTINATION include/vat)
+install(
+  FILES vat.h json_format.h
+  DESTINATION include/vat
+  COMPONENT vpp-dev
+)
 
 ##############################################################################
 # restart
index 59c725f..c3dfba9 100644 (file)
@@ -19,7 +19,11 @@ configure_file(
   ${CMAKE_SOURCE_DIR}/vlib/config.h.in
   ${CMAKE_BINARY_DIR}/vlib/config.h
 )
-install(FILES ${CMAKE_BINARY_DIR}/vlib/config.h DESTINATION include/vlib)
+install(
+  FILES ${CMAKE_BINARY_DIR}/vlib/config.h
+  DESTINATION include/vlib
+  COMPONENT vpp-dev
+)
 
 ##############################################################################
 # vlib shared library
index 6c67008..55f87b8 100644 (file)
@@ -20,4 +20,6 @@ install(
 
   DESTINATION
   include/vlibapi
+
+  COMPONENT vpp-dev
 )
index abf9ffb..120bfd4 100644 (file)
@@ -33,7 +33,11 @@ foreach(f ${VPP_API_FILES})
     DEPENDS ${input} vapi_c_gen.py vapi_json_parser.py api_headers
     COMMENT "Generating VAPI C header ${output}"
   )
-  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${output} DESTINATION include/vapi)
+  install(
+    FILES ${CMAKE_CURRENT_BINARY_DIR}/${output}
+    DESTINATION include/vapi
+    COMPONENT vpp-dev
+  )
   list(APPEND VAPICLIENT_API_CPP_HEADERS ${output})
 
   # C++ VAPI Headers
@@ -46,7 +50,11 @@ foreach(f ${VPP_API_FILES})
     DEPENDS ${input} vapi_cpp_gen.py vapi_json_parser.py api_headers
     COMMENT "Generating VAPI C++ header ${output}"
   )
-  install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${output} DESTINATION include/vapi)
+  install(
+    FILES ${CMAKE_CURRENT_BINARY_DIR}/${output}
+    DESTINATION include/vapi
+    COMPONENT vpp-dev
+  )
   list(APPEND VAPICLIENT_API_CPP_HEADERS ${output})
 endforeach ()
 
@@ -73,4 +81,5 @@ install(
   vapi_internal.h
 
   DESTINATION include/vapi
+  COMPONENT vpp-dev
 )
index 78ca867..feb75cf 100644 (file)
@@ -46,6 +46,7 @@ foreach(file ${VPP_API_FILES})
   install(
     FILES ${CMAKE_CURRENT_BINARY_DIR}/${file}.h
     DESTINATION include/vpp/${dir}
+    COMPONENT vpp-dev
   )
 endforeach()