From 299f3e996160368b9b5ad2de9907cf8def332249 Mon Sep 17 00:00:00 2001 From: xantares Date: Sat, 10 May 2014 14:48:38 +0200 Subject: [PATCH] Handle properly SHARED_VERSION_INFO. --- CMakeLists.txt | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 49eabe4..5993fd1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -155,17 +155,18 @@ INSTALL ( FILES ${NLOPT_HEADERS} DESTINATION include ) ADD_LIBRARY (nlopt ${NLOPT_SOURCES} ) # parse configure.ac for lib version -STRING( REGEX MATCH "SHARED_VERSION_INFO=\"[0-9]+:[0-9]+:[0-9]+\"" NLOPT_VERSION_INFO_LINE "${CONFIG_AUTOMAKE}") -SET (NLOPT_INFO_SOVERSION 0) -IF (NLOPT_VERSION_INFO_LINE) - STRING( REGEX REPLACE "SHARED_VERSION_INFO=\"([0-9]+):([0-9]+):[0-9]+\"" "${NLOPT_INFO_SOVERSION}.\\1.\\2" NLOPT_INFO_VERSION "${NLOPT_VERSION_INFO_LINE}") -ENDIF () -SET_TARGET_PROPERTIES(nlopt PROPERTIES SOVERSION ${NLOPT_INFO_SOVERSION}) -IF (WIN32) - SET_TARGET_PROPERTIES(nlopt PROPERTIES SUFFIX -${NLOPT_INFO_SOVERSION}.dll) -ENDIF () -IF (NLOPT_INFO_VERSION) - SET_TARGET_PROPERTIES(nlopt PROPERTIES VERSION ${NLOPT_INFO_VERSION} ) +STRING( REGEX MATCH "SHARED_VERSION_INFO=\"[0-9]+:[0-9]+:[0-9]+\"" _VERSION_INFO_LINE "${CONFIG_AUTOMAKE}") +IF (_VERSION_INFO_LINE) + STRING( REGEX REPLACE "SHARED_VERSION_INFO=\"([0-9]+):[0-9]+:[0-9]+\"" "\\1" _VERSION_INFO_CURRENT "${_VERSION_INFO_LINE}") + STRING( REGEX REPLACE "SHARED_VERSION_INFO=\"[0-9]+:([0-9]+):[0-9]+\"" "\\1" _VERSION_INFO_REVISION "${_VERSION_INFO_LINE}") + STRING( REGEX REPLACE "SHARED_VERSION_INFO=\"[0-9]+:[0-9]+:([0-9]+)\"" "\\1" _VERSION_INFO_AGE "${_VERSION_INFO_LINE}") + MATH(EXPR _INFO_SOVERSION "${_VERSION_INFO_CURRENT} - ${_VERSION_INFO_AGE} ") + SET(_INFO_VERSION "${_INFO_SOVERSION}.${_VERSION_INFO_AGE}.${_VERSION_INFO_REVISION}") + SET_TARGET_PROPERTIES(nlopt PROPERTIES SOVERSION ${_INFO_SOVERSION}) + SET_TARGET_PROPERTIES(nlopt PROPERTIES VERSION ${_INFO_VERSION} ) + IF (WIN32) + SET_TARGET_PROPERTIES(nlopt PROPERTIES SUFFIX -${NLOPT_INFO_SOVERSION}.dll) + ENDIF () ENDIF () INSTALL ( TARGETS nlopt -- 2.30.2