From 7c17fc222253d1ae6ca4c270d60c45f1bcb0c41f Mon Sep 17 00:00:00 2001 From: Dave Jones Date: Mon, 30 Nov 2020 14:17:55 +0000 Subject: [PATCH 1/2] Install libs into multi-arch friendly dirs This patch tweaks the CMakeLists to install libraries into the default location instead of a hard-coded "lib". This is usually a multi-arch friendly location, e.g. usr/lib/aarch64-linux-gnu --- CMakeLists.txt | 2 +- containers/CMakeLists.txt | 2 +- helpers/dtoverlay/CMakeLists.txt | 2 +- host_applications/linux/libs/bcm_host/CMakeLists.txt | 2 +- host_applications/linux/libs/debug_sym/CMakeLists.txt | 4 ++-- host_applications/linux/libs/sm/CMakeLists.txt | 2 +- interface/khronos/CMakeLists.txt | 6 +++--- interface/mmal/CMakeLists.txt | 2 +- interface/mmal/components/CMakeLists.txt | 2 +- interface/mmal/core/CMakeLists.txt | 2 +- interface/mmal/util/CMakeLists.txt | 2 +- interface/mmal/vc/CMakeLists.txt | 4 ++-- interface/vchiq_arm/CMakeLists.txt | 4 ++-- interface/vcos/pthreads/CMakeLists.txt | 2 +- interface/vmcs_host/CMakeLists.txt | 2 +- makefiles/cmake/vmcs.cmake | 2 +- middleware/openmaxil/CMakeLists.txt | 2 +- 17 files changed, 22 insertions(+), 22 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fe67fc874..4c5e0cd34 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -125,7 +125,7 @@ if(PKG_CONFIG_FOUND) foreach(PCFILE bcm_host.pc brcmegl.pc brcmglesv2.pc brcmvg.pc vcsm.pc mmal.pc) configure_file("pkgconfig/${PCFILE}.in" "${PCFILE}" @ONLY) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PCFILE}" - DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig") + DESTINATION "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/pkgconfig") endforeach() endif() # Remove cache entry, if one added by command line diff --git a/containers/CMakeLists.txt b/containers/CMakeLists.txt index 5570038c9..4840d9b3a 100644 --- a/containers/CMakeLists.txt +++ b/containers/CMakeLists.txt @@ -66,7 +66,7 @@ set(packetizers_SRCS ${packetizers_SRCS} ${SOURCE_DIR}/h264/avc1_packetizer.c) add_library(containers ${LIBRARY_TYPE} ${core_SRCS} ${io_SRCS} ${net_SRCS} ${packetizers_SRCS}) target_link_libraries(containers vcos) -install(TARGETS containers DESTINATION lib) +install(TARGETS containers) set(container_readers) set(container_writers) diff --git a/helpers/dtoverlay/CMakeLists.txt b/helpers/dtoverlay/CMakeLists.txt index b3bd30f10..23da25aa5 100644 --- a/helpers/dtoverlay/CMakeLists.txt +++ b/helpers/dtoverlay/CMakeLists.txt @@ -22,4 +22,4 @@ add_library (dtovl ${SHARED} target_link_libraries(dtovl fdt) -install (TARGETS dtovl DESTINATION lib) +install (TARGETS dtovl) diff --git a/host_applications/linux/libs/bcm_host/CMakeLists.txt b/host_applications/linux/libs/bcm_host/CMakeLists.txt index 2f4beb932..91159e8d6 100644 --- a/host_applications/linux/libs/bcm_host/CMakeLists.txt +++ b/host_applications/linux/libs/bcm_host/CMakeLists.txt @@ -19,5 +19,5 @@ add_library(bcm_host ${SHARED} bcm_host.c) target_link_libraries(bcm_host vcos vchostif) -install(TARGETS bcm_host DESTINATION lib) +install(TARGETS bcm_host) diff --git a/host_applications/linux/libs/debug_sym/CMakeLists.txt b/host_applications/linux/libs/debug_sym/CMakeLists.txt index d437b9955..d96ba6e14 100644 --- a/host_applications/linux/libs/debug_sym/CMakeLists.txt +++ b/host_applications/linux/libs/debug_sym/CMakeLists.txt @@ -11,6 +11,6 @@ include_directories ( add_library(debug_sym ${SHARED} debug_sym.c) add_library(debug_sym_static STATIC debug_sym.c) -install(TARGETS debug_sym DESTINATION lib) -install(TARGETS debug_sym_static DESTINATION lib) +install(TARGETS debug_sym) +install(TARGETS debug_sym_static) install(FILES debug_sym.h DESTINATION include/interface/debug_sym) diff --git a/host_applications/linux/libs/sm/CMakeLists.txt b/host_applications/linux/libs/sm/CMakeLists.txt index 5ce5aca75..5301c3091 100644 --- a/host_applications/linux/libs/sm/CMakeLists.txt +++ b/host_applications/linux/libs/sm/CMakeLists.txt @@ -14,5 +14,5 @@ add_library(vcsm ${SHARED} user-vcsm.c) target_link_libraries(vcsm vcos) -install(TARGETS vcsm DESTINATION lib) +install(TARGETS vcsm) install(FILES user-vcsm.h DESTINATION include/interface/vcsm) diff --git a/interface/khronos/CMakeLists.txt b/interface/khronos/CMakeLists.txt index 9ad615b8d..1347f4843 100644 --- a/interface/khronos/CMakeLists.txt +++ b/interface/khronos/CMakeLists.txt @@ -78,8 +78,8 @@ target_link_libraries(GLESv2 EGL khrn_client vcos) target_link_libraries(WFC EGL) target_link_libraries(OpenVG EGL) -install(TARGETS EGL GLESv2 OpenVG WFC khrn_client DESTINATION lib) -install(TARGETS EGL_static GLESv2_static khrn_static DESTINATION lib) +install(TARGETS EGL GLESv2 OpenVG WFC khrn_client) +install(TARGETS EGL_static GLESv2_static khrn_static) # recommended names to use to avoid conflicts with mesa libs add_library(brcmEGL ${SHARED} ${EGL_SOURCE}) @@ -92,4 +92,4 @@ target_link_libraries(brcmGLESv2 brcmEGL khrn_client vcos) target_link_libraries(brcmWFC brcmEGL) target_link_libraries(brcmOpenVG brcmEGL) -install(TARGETS brcmEGL brcmGLESv2 brcmOpenVG brcmWFC DESTINATION lib) +install(TARGETS brcmEGL brcmGLESv2 brcmOpenVG brcmWFC) diff --git a/interface/mmal/CMakeLists.txt b/interface/mmal/CMakeLists.txt index 46f149df6..8160dbe65 100644 --- a/interface/mmal/CMakeLists.txt +++ b/interface/mmal/CMakeLists.txt @@ -16,7 +16,7 @@ add_subdirectory(client) target_link_libraries(mmal mmal_core mmal_util mmal_vc_client vcos mmal_components) -install(TARGETS mmal DESTINATION lib) +install(TARGETS mmal) install(FILES mmal.h mmal_buffer.h diff --git a/interface/mmal/components/CMakeLists.txt b/interface/mmal/components/CMakeLists.txt index d65fa37d9..3fa0bf6b3 100644 --- a/interface/mmal/components/CMakeLists.txt +++ b/interface/mmal/components/CMakeLists.txt @@ -30,5 +30,5 @@ set(container_libs ${container_libs} containers) target_link_libraries(mmal_components ${container_libs} mmal_util) target_link_libraries(mmal_components mmal_core) -install(TARGETS mmal_components DESTINATION lib) +install(TARGETS mmal_components) diff --git a/interface/mmal/core/CMakeLists.txt b/interface/mmal/core/CMakeLists.txt index de0bcb25e..9ee5aed9f 100644 --- a/interface/mmal/core/CMakeLists.txt +++ b/interface/mmal/core/CMakeLists.txt @@ -13,7 +13,7 @@ add_library (mmal_core ${LIBRARY_TYPE} target_link_libraries (mmal_core vcos) -install(TARGETS mmal_core DESTINATION lib) +install(TARGETS mmal_core) install(FILES mmal_buffer_private.h mmal_clock_private.h diff --git a/interface/mmal/util/CMakeLists.txt b/interface/mmal/util/CMakeLists.txt index b2a6858ba..5cf732365 100644 --- a/interface/mmal/util/CMakeLists.txt +++ b/interface/mmal/util/CMakeLists.txt @@ -12,7 +12,7 @@ add_library (mmal_util ${LIBRARY_TYPE} target_link_libraries (mmal_util vcos) -install(TARGETS mmal_util DESTINATION lib) +install(TARGETS mmal_util) install(FILES mmal_component_wrapper.h mmal_connection.h diff --git a/interface/mmal/vc/CMakeLists.txt b/interface/mmal/vc/CMakeLists.txt index d6e80db75..ecb1fed08 100644 --- a/interface/mmal/vc/CMakeLists.txt +++ b/interface/mmal/vc/CMakeLists.txt @@ -8,12 +8,12 @@ target_link_libraries(mmal_vc_client vchiq_arm vcos vcsm) if(BUILD_MMAL_APPS) add_executable(mmal_vc_diag mmal_vc_diag.c) target_link_libraries(mmal_vc_diag mmal mmal_vc_client debug_sym vcos) -install(TARGETS mmal_vc_diag RUNTIME DESTINATION bin) +install(TARGETS mmal_vc_diag RUNTIME) endif(BUILD_MMAL_APPS) include_directories ( ../../../host_applications/linux/libs/sm ) -install(TARGETS mmal_vc_client DESTINATION lib) +install(TARGETS mmal_vc_client) install(FILES mmal_vc_api.h mmal_vc_api_drm.h diff --git a/interface/vchiq_arm/CMakeLists.txt b/interface/vchiq_arm/CMakeLists.txt index 7af383de6..7b9e50b83 100644 --- a/interface/vchiq_arm/CMakeLists.txt +++ b/interface/vchiq_arm/CMakeLists.txt @@ -5,7 +5,7 @@ add_library(vchiq_arm SHARED # pull in VCHI cond variable emulation target_link_libraries(vchiq_arm vcos) -install(TARGETS vchiq_arm DESTINATION lib) +install(TARGETS vchiq_arm) #install(FILES etc/10-vchiq.rules DESTINATION /etc/udev/rules.d) include_directories(../..) @@ -17,4 +17,4 @@ target_link_libraries(vchiq_test vchiq_arm vcos) -install(TARGETS vchiq_test RUNTIME DESTINATION bin) +install(TARGETS vchiq_test RUNTIME) diff --git a/interface/vcos/pthreads/CMakeLists.txt b/interface/vcos/pthreads/CMakeLists.txt index 1d81ca3c6..792c62428 100644 --- a/interface/vcos/pthreads/CMakeLists.txt +++ b/interface/vcos/pthreads/CMakeLists.txt @@ -43,4 +43,4 @@ endif () #install(FILES ${HEADERS} DESTINATION include) -install(TARGETS vcos DESTINATION lib) +install(TARGETS vcos) diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt index cbef80c57..fcdddb2d5 100755 --- a/interface/vmcs_host/CMakeLists.txt +++ b/interface/vmcs_host/CMakeLists.txt @@ -32,5 +32,5 @@ target_link_libraries(vchostif vchiq_arm vcos) #target_link_libraries(bufman WFC) -install(TARGETS ${INSTALL_TARGETS} DESTINATION lib) +install(TARGETS ${INSTALL_TARGETS}) diff --git a/makefiles/cmake/vmcs.cmake b/makefiles/cmake/vmcs.cmake index 7c974638b..a9c938388 100644 --- a/makefiles/cmake/vmcs.cmake +++ b/makefiles/cmake/vmcs.cmake @@ -16,7 +16,7 @@ endif() SET(CMAKE_INSTALL_PREFIX "${VMCS_INSTALL_PREFIX}" CACHE INTERNAL "Prefix prepended to install directories" FORCE) if(NOT DEFINED VMCS_PLUGIN_DIR) - SET(VMCS_PLUGIN_DIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_SHARED_LIBRARY_PREFIX}/plugins) + SET(VMCS_PLUGIN_DIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/plugins) endif() # What kind of system are we? diff --git a/middleware/openmaxil/CMakeLists.txt b/middleware/openmaxil/CMakeLists.txt index 3e9c5f9d1..b5dae7f86 100644 --- a/middleware/openmaxil/CMakeLists.txt +++ b/middleware/openmaxil/CMakeLists.txt @@ -49,4 +49,4 @@ else () endif () -install (TARGETS openmaxil DESTINATION lib) +install (TARGETS openmaxil) From b63db555ed8a7bb7390d7aba1b61a2ec99e08364 Mon Sep 17 00:00:00 2001 From: Dave Jones Date: Mon, 30 Nov 2020 19:15:57 +0000 Subject: [PATCH 2/2] Argh, forgot the pkgconfig/ changes! Stupidly forgot to merge the separate patch for these... --- pkgconfig/bcm_host.pc.in | 2 +- pkgconfig/brcmegl.pc.in | 2 +- pkgconfig/brcmglesv2.pc.in | 2 +- pkgconfig/brcmvg.pc.in | 2 +- pkgconfig/mmal.pc.in | 2 +- pkgconfig/vcsm.pc.in | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgconfig/bcm_host.pc.in b/pkgconfig/bcm_host.pc.in index c7237c535..2988b42f9 100644 --- a/pkgconfig/bcm_host.pc.in +++ b/pkgconfig/bcm_host.pc.in @@ -1,6 +1,6 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=${exec_prefix}/lib +libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ includedir=${prefix}/include Name: bcm_host diff --git a/pkgconfig/brcmegl.pc.in b/pkgconfig/brcmegl.pc.in index 5dd3d5b91..a45bf22ab 100644 --- a/pkgconfig/brcmegl.pc.in +++ b/pkgconfig/brcmegl.pc.in @@ -1,6 +1,6 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=${exec_prefix}/lib +libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ includedir=${prefix}/include Name: brcmEGL diff --git a/pkgconfig/brcmglesv2.pc.in b/pkgconfig/brcmglesv2.pc.in index e0e36f5a3..902fbf331 100644 --- a/pkgconfig/brcmglesv2.pc.in +++ b/pkgconfig/brcmglesv2.pc.in @@ -1,6 +1,6 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=${exec_prefix}/lib +libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ includedir=${prefix}/include Name: brcmGLESv2 diff --git a/pkgconfig/brcmvg.pc.in b/pkgconfig/brcmvg.pc.in index 763a44b0d..98489ee43 100644 --- a/pkgconfig/brcmvg.pc.in +++ b/pkgconfig/brcmvg.pc.in @@ -1,6 +1,6 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=${exec_prefix}/lib +libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ includedir=${prefix}/include Name: brcmOpenVG diff --git a/pkgconfig/mmal.pc.in b/pkgconfig/mmal.pc.in index 37d344c44..1ffa4f51f 100644 --- a/pkgconfig/mmal.pc.in +++ b/pkgconfig/mmal.pc.in @@ -1,6 +1,6 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=${exec_prefix}/lib +libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ includedir=${prefix}/include Name: MMAL diff --git a/pkgconfig/vcsm.pc.in b/pkgconfig/vcsm.pc.in index b12c56fc8..6f762cbfa 100644 --- a/pkgconfig/vcsm.pc.in +++ b/pkgconfig/vcsm.pc.in @@ -1,6 +1,6 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=${exec_prefix}/lib +libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ includedir=${prefix}/include Name: VCSM