chiark / gitweb /
Fixes memory leak in auglag/auglag.c
[nlopt.git] / CMakeLists.txt
index 032c067cf17ff014c5e425a29faf4fcd3501a108..1c7a67c0ee39f3f9134ceae7a1fa00ccb9859ca8 100644 (file)
@@ -143,15 +143,33 @@ SET ( NLOPT_SOURCES
        stogo/global.cc stogo/linalg.cc stogo/local.cc stogo/stogo.cc stogo/tools.cc stogo/global.h stogo/linalg.h stogo/local.h stogo/stogo_config.h stogo/stogo.h stogo/tools.h \r
         )\r
 \r
-OPTION(NLOPT_BUILD_SHARED "Build NLOPT as a shared library" OFF )\r
+OPTION(BUILD_SHARED_LIBS "Build NLOPT as a shared library" OFF )\r
 \r
-IF(NLOPT_BUILD_SHARED)\r
+if (BUILD_SHARED_LIBS)\r
   ADD_DEFINITIONS(-DNLOPT_DLL)\r
   ADD_DEFINITIONS(-DNLOPT_DLL_EXPORT )\r
-  ADD_LIBRARY (nlopt SHARED ${NLOPT_SOURCES} )\r
-ELSE(NLOPT_BUILD_SHARED)\r
-  ADD_LIBRARY (nlopt STATIC ${NLOPT_SOURCES} )\r
-ENDIF(NLOPT_BUILD_SHARED)\r
+  \r
+  if (NOT CMAKE_INSTALL_PREFIX MATCHES "^/usr")\r
+    set (CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})\r
+    set (CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)\r
+  endif ()\r
+endif ()\r
+\r
+INSTALL ( FILES ${NLOPT_HEADERS} DESTINATION include )\r
+\r
+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]+\"" _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
+ENDIF ()\r
 \r
 INSTALL ( TARGETS nlopt\r
           RUNTIME DESTINATION bin\r
@@ -159,5 +177,4 @@ INSTALL ( TARGETS nlopt
           ARCHIVE DESTINATION lib${LIB_SUFFIX}\r
         )\r
 \r
-INSTALL ( FILES ${NLOPT_HEADERS} DESTINATION include )\r
-\r
+add_subdirectory (swig)\r