# nlopt LIBRARY TARGET (SHARED OR STATIC)\r
#==============================================================================\r
\r
+SET ( NLOPT_HEADERS \r
+ api/nlopt.h api/nlopt.hpp api/nlopt.f\r
+)\r
+\r
SET ( NLOPT_SOURCES \r
direct/DIRect.c direct/direct_wrap.c direct/DIRserial.c direct/DIRsubrout.c direct/direct-internal.h direct/direct.h\r
cdirect/cdirect.c cdirect/hybrid.c cdirect/cdirect.h\r
\r
OPTION(BUILD_SHARED_LIBS "Build NLOPT as a shared library" OFF )\r
\r
-IF(BUILD_SHARED_LIBS)\r
+if (BUILD_SHARED_LIBS)\r
ADD_DEFINITIONS(-DNLOPT_DLL)\r
ADD_DEFINITIONS(-DNLOPT_DLL_EXPORT )\r
-ENDIF(BUILD_SHARED_LIBS)\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
-
\ No newline at end of file
+\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
+ LIBRARY DESTINATION lib${LIB_SUFFIX}\r
+ ARCHIVE DESTINATION lib${LIB_SUFFIX}\r
+ )\r
+\r
+add_subdirectory (swig)\r