File cmake-lib-install-dir.patch of Package jaeger-client-cpp
From 0f194780157cb327072383ea56e5146dd7c0dbed Mon Sep 17 00:00:00 2001
From: Michal Rostecki <mrostecki@suse.com>
Date: Tue, 8 May 2018 14:07:11 +0200
Subject: [PATCH] cmake: Use LIB_INSTALL_DIR instead of hardcoding lib
destination
The comon practice in cmake to allow to specify the libdir is
using the LIB_INSTALL_DIR variable. The main use case of that
variable is setting /usr/lib64 as the destination dir for
libraries which is a common pattern in many Linux distributions.
---
CMakeLists.txt | 24 ++++++++++++++----------
1 file changed, 14 insertions(+), 10 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e370e99..cb410ee 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -26,6 +26,10 @@ endif()
set(CMAKE_EXPORT_COMPILE_COMMANDS true)
+if (NOT DEFINED LIB_INSTALL_DIR)
+ set(LIB_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib)
+endif()
+
if(HUNTER_ENABLED)
set(hunter_config "CONFIG")
else()
@@ -332,10 +336,10 @@ endif()
# Installation (https://github.com/forexample/package-example)
# Layout. This works for all platforms:
-# * <prefix>/lib/cmake/<PROJECT-NAME>
-# * <prefix>/lib/
+# * <libdir>/cmake/<PROJECT-NAME>
+# * <libdir>
# * <prefix>/include/
-set(config_install_dir "lib/cmake/${PROJECT_NAME}")
+set(config_install_dir "${LIB_INSTALL_DIR}/cmake/${PROJECT_NAME}")
set(include_install_dir "include")
set(generated_dir "${CMAKE_CURRENT_BINARY_DIR}/generated")
@@ -367,15 +371,15 @@ configure_package_config_file(
)
# Targets:
-# * <prefix>/lib/libjaegertracing.a
-# * <prefix>/lib/libjaegertracing.so
+# * <libdir>/libjaegertracing.a
+# * <libdir>/libjaegertracing.so
# * header location after install: <prefix>/include/jaegertracing/Tracer.h
# * headers can be included by C++ code `#include <jaegertracing/Tracer.h>`
install(
TARGETS jaegertracing jaegertracing-static
EXPORT "${TARGETS_EXPORT_NAME}"
- LIBRARY DESTINATION "lib"
- ARCHIVE DESTINATION "lib"
+ LIBRARY DESTINATION "${LIB_INSTALL_DIR}"
+ ARCHIVE DESTINATION "${LIB_INSTALL_DIR}"
RUNTIME DESTINATION "bin"
INCLUDES DESTINATION "${include_install_dir}"
)
@@ -394,15 +398,15 @@ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/src/jaegertracing/Constants.h"
DESTINATION "${include_install_dir}/jaegertracing")
# Config
-# * <prefix>/lib/cmake/jaegertracing/jaegertracingConfig.cmake
-# * <prefix>/lib/cmake/jaegertracing/jaegertracingConfigVersion.cmake
+# * <libdir>/cmake/jaegertracing/jaegertracingConfig.cmake
+# * <libdir>/cmake/jaegertracing/jaegertracingConfigVersion.cmake
install(
FILES "${project_config}" "${version_config}"
DESTINATION "${config_install_dir}"
)
# Config
-# * <prefix>/lib/cmake/jaegertracing/jaegertracingTargets.cmake
+# * <libdir>/cmake/jaegertracing/jaegertracingTargets.cmake
install(
EXPORT "${TARGETS_EXPORT_NAME}"
NAMESPACE "${namespace}"