build: use GNUInstallDirs install destinations 31/33731/2
authorNick Brown <nickbroon@gmail.com>
Wed, 15 Sep 2021 13:25:40 +0000 (14:25 +0100)
committerDamjan Marion <dmarion@me.com>
Fri, 17 Sep 2021 20:25:49 +0000 (20:25 +0000)
So as to be compliant with distribution layouts, as recommend by:
https://cmake.org/cmake/help/latest/command/install.html#installing-files

Type: make
Change-Id: Ic46ace4f26aab1aa4902cbd013c40a92c480680d
Signed-off-by: Nick Brown <nickbroon@gmail.com>
src/CMakeLists.txt
src/vat/CMakeLists.txt
src/vat2/CMakeLists.txt
src/vlib/CMakeLists.txt
src/vlibapi/CMakeLists.txt
src/vpp-api/vapi/CMakeLists.txt
src/vpp/CMakeLists.txt
src/vppinfra/CMakeLists.txt

index 49ea037..a957d86 100644 (file)
@@ -35,6 +35,7 @@ endif()
 
 include(CheckCCompilerFlag)
 include(CheckIPOSupported)
+include(GNUInstallDirs)
 include(cmake/misc.cmake)
 include(cmake/cpu.cmake)
 include(cmake/ccache.cmake)
@@ -67,8 +68,8 @@ set(CMAKE_C_COMPILER_TARGET ${CMAKE_SYSTEM_PROCESSOR}-linux-gnu)
 ##############################################################################
 check_c_compiler_flag("-Wno-address-of-packed-member"
                      compiler_flag_no_address_of_packed_member)
-set(VPP_RUNTIME_DIR "bin" CACHE STRING "Relative runtime directory path")
-set(VPP_LIBRARY_DIR "lib" CACHE STRING "Relative library directory path")
+set(VPP_RUNTIME_DIR ${CMAKE_INSTALL_BINDIR} CACHE STRING "Relative runtime directory path")
+set(VPP_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR} CACHE STRING "Relative library directory path")
 
 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${VPP_RUNTIME_DIR})
 set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${VPP_LIBRARY_DIR})
index ee53386..66ea69b 100644 (file)
@@ -58,7 +58,7 @@ add_vpp_executable(vpp_json_test ENABLE_EXPORTS NO_INSTALL
 ##############################################################################
 install(
   FILES vat.h json_format.h
-  DESTINATION include/vat
+  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/vat
   COMPONENT vpp-dev
 )
 
index 2afb95e..9ee2d82 100644 (file)
@@ -98,6 +98,6 @@ install(
   FILES
   jsonconvert.h
   vat2_helpers.h
-  DESTINATION include/vat2
+  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/vat2
   COMPONENT vpp-dev
 )
index c8127fb..df51b2e 100644 (file)
@@ -41,7 +41,7 @@ configure_file(
 )
 install(
   FILES ${CMAKE_CURRENT_BINARY_DIR}/config.h
-  DESTINATION include/vlib
+  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/vlib
   COMPONENT vpp-dev
 )
 
index dfd6b5b..e6937a6 100644 (file)
@@ -20,7 +20,7 @@ install(
   api_types.h
 
   DESTINATION
-  include/vlibapi
+  ${CMAKE_INSTALL_INCLUDEDIR}/vlibapi
 
   COMPONENT vpp-dev
 )
index 53034bd..df5d611 100644 (file)
@@ -34,7 +34,7 @@ install(
     vapi.hpp
     vapi_internal.h
   DESTINATION
-    include/vapi
+    ${CMAKE_INSTALL_INCLUDEDIR}/vapi
   COMPONENT
     vpp-dev
 )
index 3b46659..e15037c 100644 (file)
@@ -51,7 +51,7 @@ foreach(file ${VPP_API_FILES})
     FILES ${CMAKE_CURRENT_BINARY_DIR}/${file}.h
     ${CMAKE_CURRENT_BINARY_DIR}/${file}_enum.h
     ${CMAKE_CURRENT_BINARY_DIR}/${file}_types.h
-    DESTINATION include/vpp/${dir}
+    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/vpp/${dir}
     COMPONENT vpp-dev
   )
 endforeach()
@@ -133,8 +133,8 @@ add_vpp_library(vppmem_preload
   LINK_LIBRARIES vppinfra
 )
 
-install(FILES conf/startup.conf DESTINATION etc/vpp COMPONENT vpp)
-install(FILES conf/80-vpp.conf DESTINATION etc/sysctl.d COMPONENT vpp)
+install(FILES conf/startup.conf DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/vpp COMPONENT vpp)
+install(FILES conf/80-vpp.conf DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/sysctl.d COMPONENT vpp)
 
 ##############################################################################
 # VAT2 plugins
index 8114ea1..4be291e 100644 (file)
@@ -32,7 +32,7 @@ configure_file(
 
 install(
   FILES ${CMAKE_CURRENT_BINARY_DIR}/config.h
-  DESTINATION include/vppinfra
+  DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/vppinfra
   COMPONENT vpp-dev
 )