Blob Blame History Raw
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