blob: 3282b5413e2b58d2332a770f77bbcb0a9f52ffce [file] [log] [blame]
From 2279e30be5796e9b185545543ea54fe68633cbdd Mon Sep 17 00:00:00 2001
From: Alexey Firago <alexey_firago@mentor.com>
Date: Mon, 30 Oct 2017 23:24:49 +0300
Subject: [PATCH] CMakeLists.txt: Fix libraries installation for Linux
* Set libs versions as in Makefile
Signed-off-by: Alexey Firago <alexey_firago@mentor.com>
---
CMakeLists.txt | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 59 insertions(+)
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -30,6 +30,15 @@ set(PACKAGE_TARNAME "${PACKAGE_NAME}-$
set(PACKAGE_BUGREPORT "https://github.com/grpc/grpc/issues/")
project(${PACKAGE_NAME} C CXX)
+set (CORE_VERSION_MAJOR "6")
+set (CORE_VERSION "6.0.0")
+
+set (CPP_VERSION_MAJOR "1")
+set (CPP_VERSION "${PACKAGE_VERSION}")
+
+set (CSHARP_VERSION_MAJOR "1")
+set (CSHARP_VERSION "${PACKAGE_VERSION}")
+
set(gRPC_INSTALL_BINDIR "bin" CACHE STRING "Installation directory for executables")
set(gRPC_INSTALL_LIBDIR "lib" CACHE STRING "Installation directory for libraries")
set(gRPC_INSTALL_INCLUDEDIR "include" CACHE STRING "Installation directory for headers")
@@ -769,6 +778,10 @@ if(WIN32 AND MSVC)
endif()
endif()
+if(_gRPC_PLATFORM_LINUX)
+ set_property(TARGET address_sorting PROPERTY VERSION ${CORE_VERSION})
+ set_property(TARGET address_sorting PROPERTY SOVERSION ${CORE_VERSION_MAJOR})
+endif()
target_include_directories(address_sorting
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
@@ -903,6 +916,10 @@ if(WIN32 AND MSVC)
endif()
endif()
+if(_gRPC_PLATFORM_LINUX)
+ set_property(TARGET gpr PROPERTY VERSION ${CORE_VERSION})
+ set_property(TARGET gpr PROPERTY SOVERSION ${CORE_VERSION_MAJOR})
+endif()
target_include_directories(gpr
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
@@ -1333,6 +1350,10 @@ if(WIN32 AND MSVC)
endif()
endif()
+if(_gRPC_PLATFORM_LINUX)
+ set_property(TARGET grpc PROPERTY VERSION ${CORE_VERSION})
+ set_property(TARGET grpc PROPERTY SOVERSION ${CORE_VERSION_MAJOR})
+endif()
target_include_directories(grpc
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
@@ -1731,6 +1752,10 @@ if(WIN32 AND MSVC)
endif()
endif()
+if(_gRPC_PLATFORM_LINUX)
+ set_property(TARGET grpc_cronet PROPERTY VERSION ${CORE_VERSION})
+ set_property(TARGET grpc_cronet PROPERTY SOVERSION ${CORE_VERSION_MAJOR})
+endif()
target_include_directories(grpc_cronet
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
@@ -2744,6 +2769,10 @@ if(WIN32 AND MSVC)
endif()
endif()
+if(_gRPC_PLATFORM_LINUX)
+ set_property(TARGET grpc_unsecure PROPERTY VERSION ${CORE_VERSION})
+ set_property(TARGET grpc_unsecure PROPERTY SOVERSION ${CORE_VERSION_MAJOR})
+endif()
target_include_directories(grpc_unsecure
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
@@ -3083,6 +3112,10 @@ if(WIN32 AND MSVC)
endif()
endif()
+if(_gRPC_PLATFORM_LINUX)
+ set_property(TARGET grpc++ PROPERTY VERSION ${CPP_VERSION})
+ set_property(TARGET grpc++ PROPERTY SOVERSION ${CPP_VERSION_MAJOR})
+endif()
target_include_directories(grpc++
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
@@ -3703,6 +3736,10 @@ if(WIN32 AND MSVC)
endif()
endif()
+if(_gRPC_PLATFORM_LINUX)
+ set_property(TARGET grpc++_cronet PROPERTY VERSION ${CPP_VERSION})
+ set_property(TARGET grpc++_cronet PROPERTY SOVERSION ${CPP_VERSION_MAJOR})
+endif()
target_include_directories(grpc++_cronet
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
@@ -4013,6 +4050,11 @@ protobuf_generate_grpc_cpp(
src/proto/grpc/status/status.proto
)
+if(_gRPC_PLATFORM_LINUX)
+ set_property(TARGET grpc++_error_details PROPERTY VERSION ${CPP_VERSION})
+ set_property(TARGET grpc++_error_details PROPERTY SOVERSION ${CPP_VERSION_MAJOR})
+endif()
+
target_include_directories(grpc++_error_details
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
@@ -4147,6 +4189,11 @@ protobuf_generate_grpc_cpp(
src/proto/grpc/reflection/v1alpha/reflection.proto
)
+if(_gRPC_PLATFORM_LINUX)
+ set_property(TARGET grpc++_reflection PROPERTY VERSION ${CPP_VERSION})
+ set_property(TARGET grpc++_reflection PROPERTY SOVERSION ${CPP_VERSION_MAJOR})
+endif()
+
target_include_directories(grpc++_reflection
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
@@ -4704,6 +4751,10 @@ if(WIN32 AND MSVC)
endif()
endif()
+if(_gRPC_PLATFORM_LINUX)
+ set_property(TARGET grpc++_unsecure PROPERTY VERSION ${CPP_VERSION})
+ set_property(TARGET grpc++_unsecure PROPERTY SOVERSION ${CPP_VERSION_MAJOR})
+endif()
target_include_directories(grpc++_unsecure
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
@@ -5124,6 +5175,10 @@ if(WIN32 AND MSVC)
endif()
endif()
+if(_gRPC_PLATFORM_LINUX)
+ set_property(TARGET grpc_plugin_support PROPERTY VERSION ${CORE_VERSION})
+ set_property(TARGET grpc_plugin_support PROPERTY SOVERSION ${CORE_VERSION_MAJOR})
+endif()
target_include_directories(grpc_plugin_support
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
@@ -5190,6 +5245,11 @@ protobuf_generate_grpc_cpp(
src/proto/grpc/channelz/channelz.proto
)
+if(_gRPC_PLATFORM_LINUX)
+ set_property(TARGET grpcpp_channelz PROPERTY VERSION ${CPP_VERSION})
+ set_property(TARGET grpcpp_channelz PROPERTY SOVERSION ${CPP_VERSION_MAJOR})
+endif()
+
target_include_directories(grpcpp_channelz
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
@@ -5728,6 +5788,10 @@ if(WIN32 AND MSVC)
endif()
endif()
+if(_gRPC_PLATFORM_LINUX)
+ set_property(TARGET grpc_csharp_ext PROPERTY VERSION ${CSHARP_VERSION})
+ set_property(TARGET grpc_csharp_ext PROPERTY SOVERSION ${CSHARP_VERSION_MAJOR})
+endif()
target_include_directories(grpc_csharp_ext
PUBLIC $<INSTALL_INTERFACE:${gRPC_INSTALL_INCLUDEDIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>