From: xantares Date: Sat, 10 May 2014 12:48:38 +0000 (+0200) Subject: Handle properly SHARED_VERSION_INFO. X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=299f3e996160368b9b5ad2de9907cf8def332249;p=nlopt.git Handle properly SHARED_VERSION_INFO. --- 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