From 620fd77b0773f8cc9b57ff96b90d770eb5055b5d Mon Sep 17 00:00:00 2001
From: Mario Ceresa <mrceresa@gmail.com>
Date: Wed, 10 Oct 2012 17:10:50 +0200
Subject: [PATCH 02/23] Added soname info for core libraries
Signed-off-by: Mario Ceresa <mrceresa@gmail.com>
---
CMakeLists.txt | 20 ++++++++++++++++++++
core/testlib/CMakeLists.txt | 1 +
core/vnl/CMakeLists.txt | 1 +
core/vnl/algo/CMakeLists.txt | 1 +
v3p/netlib/CMakeLists.txt | 2 ++
vcl/CMakeLists.txt | 1 +
6 files changed, 26 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 217f93a..67b2ea4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -12,6 +12,26 @@ ENDIF( COMMAND CMAKE_POLICY )
PROJECT(vxl)
+SET(VXL_MAJOR_VERSION 1)
+SET(VXL_MINOR_VERSION 13)
+SET(VXL_BUILD_VERSION 0)
+SET(VXL_VERSION
+ "${VXL_MAJOR_VERSION}.${VXL_MINOR_VERSION}.${VXL_BUILD_VERSION}")
+SET(VXL_API_VERSION
+ "${VXL_MAJOR_VERSION}.${VXL_MINOR_VERSION}")
+SET(VXL_LIBRARY_PROPERTIES ${VXL_LIBRARY_PROPERTIES}
+ VERSION "${VXL_VERSION}"
+ SOVERSION "${VXL_API_VERSION}"
+)
+SET(NETLIB_LIBRARY_PROPERTIES ${VXL_LIBRARY_PROPERTIES})
+SET(V3P_NETLIB_LIBRARY_PROPERTIES ${VXL_LIBRARY_PROPERTIES})
+SET(VCL_LIBRARY_PROPERTIES ${VXL_LIBRARY_PROPERTIES})
+SET(VNL_ALGO_LIBRARY_PROPERTIES ${VXL_LIBRARY_PROPERTIES})
+SET(VNL_LIBRARY_PROPERTIES ${VXL_LIBRARY_PROPERTIES})
+SET(TESTLIB_LIBRARY_PROPERTIES ${VXL_LIBRARY_PROPERTIES})
+
+
+
SET( LIBRARY_OUTPUT_PATH ${vxl_BINARY_DIR}/lib CACHE PATH
"Output directory for the vxl libraries" )
diff --git a/core/testlib/CMakeLists.txt b/core/testlib/CMakeLists.txt
index da85662..4d105e9 100644
--- a/core/testlib/CMakeLists.txt
+++ b/core/testlib/CMakeLists.txt
@@ -29,6 +29,7 @@ SET( testlib_sources
)
ADD_LIBRARY( testlib ${testlib_sources} )
+SET_TARGET_PROPERTIES(testlib PROPERTIES ${TESTLIB_LIBRARY_PROPERTIES})
TARGET_LINK_LIBRARIES( testlib vcl )
INSTALL_TARGETS( /lib testlib)
INSTALL_NOBASE_HEADER_FILES(/include/vxl/core/testlib ${testlib_sources})
diff --git a/core/vnl/CMakeLists.txt b/core/vnl/CMakeLists.txt
index 490022a..053cdab 100644
--- a/core/vnl/CMakeLists.txt
+++ b/core/vnl/CMakeLists.txt
@@ -264,6 +264,7 @@ IF(CMAKE_COMPILER_IS_GNUCXX)
ENDIF(CMAKE_COMPILER_IS_GNUCXX)
ADD_LIBRARY(vnl ${vnl_sources})
+SET_TARGET_PROPERTIES(vnl PROPERTIES ${VNL_LIBRARY_PROPERTIES})
TARGET_LINK_LIBRARIES( vnl vcl )
INSTALL_TARGETS(/lib vnl)
diff --git a/core/vnl/algo/CMakeLists.txt b/core/vnl/algo/CMakeLists.txt
index cefe140..2f99996 100644
--- a/core/vnl/algo/CMakeLists.txt
+++ b/core/vnl/algo/CMakeLists.txt
@@ -102,6 +102,7 @@ IF(NETLIB_FOUND)
AUX_SOURCE_DIRECTORY(Templates vnl_algo_sources)
ADD_LIBRARY( vnl_algo ${vnl_algo_sources})
+ SET_TARGET_PROPERTIES(vnl_algo PROPERTIES ${VNL_ALGO_LIBRARY_PROPERTIES})
TARGET_LINK_LIBRARIES( vnl_algo ${NETLIB_LIBRARIES} vnl )
INSTALL_TARGETS(/lib vnl_algo)
diff --git a/v3p/netlib/CMakeLists.txt b/v3p/netlib/CMakeLists.txt
index 9e78799..0ad28f6 100644
--- a/v3p/netlib/CMakeLists.txt
+++ b/v3p/netlib/CMakeLists.txt
@@ -8,6 +8,7 @@ SET(netlib_sources
)
ADD_LIBRARY( netlib ${netlib_sources} )
+SET_TARGET_PROPERTIES(netlib PROPERTIES ${NETLIB_LIBRARY_PROPERTIES})
INSTALL_TARGETS( /lib netlib )
INSTALL_FILES( /include/vxl/v3p/netlib .h triangle )
@@ -462,6 +463,7 @@ ENDIF(CMAKE_COMPILER_IS_GNUCC)
# Create a netlib library with mangled symbols.
ADD_LIBRARY(v3p_netlib ${v3p_netlib_sources})
+SET_TARGET_PROPERTIES(v3p_netlib PROPERTIES ${V3P_NETLIB_LIBRARY_PROPERTIES})
INSTALL_TARGETS( /lib v3p_netlib )
INSTALL_NOBASE_HEADER_FILES(/include/vxl/v3p/netlib ${v3p_netlib_sources})
IF(UNIX)
diff --git a/vcl/CMakeLists.txt b/vcl/CMakeLists.txt
index 11f1887..7f1e9d9 100644
--- a/vcl/CMakeLists.txt
+++ b/vcl/CMakeLists.txt
@@ -360,6 +360,7 @@ SET( vcl_sources
#AUX_SOURCE_DIRECTORY(Templates vcl_sources)
ADD_LIBRARY(vcl ${vcl_sources})
+SET_TARGET_PROPERTIES(vcl PROPERTIES ${VCL_LIBRARY_PROPERTIES})
# CMake can automatically figure out the compiler characteristics on
# Windows too. No need to do manual config.
--
1.7.11.7