chiark / gitweb /
Handle properly SHARED_VERSION_INFO.
authorxantares <xantares09@hotmail.com>
Sat, 10 May 2014 12:48:38 +0000 (14:48 +0200)
committerxantares <xantares09@hotmail.com>
Sat, 10 May 2014 12:48:38 +0000 (14:48 +0200)
CMakeLists.txt

index 49eabe49dab62dfbfbeca6dfb99c948022764c43..5993fd18d7f6832862872529be4343ec0b34bb2a 100644 (file)
@@ -155,17 +155,18 @@ INSTALL ( FILES ${NLOPT_HEADERS} DESTINATION include )
 ADD_LIBRARY (nlopt ${NLOPT_SOURCES} )\r
 \r
 # parse configure.ac for lib version\r
-STRING( REGEX MATCH "SHARED_VERSION_INFO=\"[0-9]+:[0-9]+:[0-9]+\"" NLOPT_VERSION_INFO_LINE "${CONFIG_AUTOMAKE}") \r
-SET (NLOPT_INFO_SOVERSION 0)\r
-IF (NLOPT_VERSION_INFO_LINE)\r
-  STRING( REGEX REPLACE "SHARED_VERSION_INFO=\"([0-9]+):([0-9]+):[0-9]+\"" "${NLOPT_INFO_SOVERSION}.\\1.\\2" NLOPT_INFO_VERSION "${NLOPT_VERSION_INFO_LINE}") \r
-ENDIF ()\r
-SET_TARGET_PROPERTIES(nlopt PROPERTIES SOVERSION ${NLOPT_INFO_SOVERSION})\r
-IF (WIN32)\r
-  SET_TARGET_PROPERTIES(nlopt PROPERTIES SUFFIX -${NLOPT_INFO_SOVERSION}.dll)\r
-ENDIF ()\r
-IF (NLOPT_INFO_VERSION)\r
-  SET_TARGET_PROPERTIES(nlopt PROPERTIES VERSION ${NLOPT_INFO_VERSION} )\r
+STRING( REGEX MATCH "SHARED_VERSION_INFO=\"[0-9]+:[0-9]+:[0-9]+\"" _VERSION_INFO_LINE "${CONFIG_AUTOMAKE}") \r
+IF (_VERSION_INFO_LINE)\r
+  STRING( REGEX REPLACE "SHARED_VERSION_INFO=\"([0-9]+):[0-9]+:[0-9]+\"" "\\1" _VERSION_INFO_CURRENT "${_VERSION_INFO_LINE}") \r
+  STRING( REGEX REPLACE "SHARED_VERSION_INFO=\"[0-9]+:([0-9]+):[0-9]+\"" "\\1" _VERSION_INFO_REVISION "${_VERSION_INFO_LINE}") \r
+  STRING( REGEX REPLACE "SHARED_VERSION_INFO=\"[0-9]+:[0-9]+:([0-9]+)\"" "\\1" _VERSION_INFO_AGE "${_VERSION_INFO_LINE}") \r
+  MATH(EXPR _INFO_SOVERSION "${_VERSION_INFO_CURRENT} - ${_VERSION_INFO_AGE} ")\r
+  SET(_INFO_VERSION "${_INFO_SOVERSION}.${_VERSION_INFO_AGE}.${_VERSION_INFO_REVISION}")\r
+  SET_TARGET_PROPERTIES(nlopt PROPERTIES SOVERSION ${_INFO_SOVERSION})\r
+  SET_TARGET_PROPERTIES(nlopt PROPERTIES VERSION ${_INFO_VERSION} )\r
+  IF (WIN32)\r
+    SET_TARGET_PROPERTIES(nlopt PROPERTIES SUFFIX -${NLOPT_INFO_SOVERSION}.dll)\r
+  ENDIF ()\r
 ENDIF ()\r
 \r
 INSTALL ( TARGETS nlopt\r