Skip to content
Snippets Groups Projects
Commit e3454fe9 authored by Francois Bleibel's avatar Francois Bleibel
Browse files

Added plugins compilation and installation to CMakeFiles. Started separating plugins from sot-core.

parent 61555666
No related branches found
No related tags found
No related merge requests found
...@@ -78,17 +78,6 @@ ELSE(PACKAGE_REQUIREMENTS STREQUAL "") ...@@ -78,17 +78,6 @@ ELSE(PACKAGE_REQUIREMENTS STREQUAL "")
SET(PACKAGE_REQUIREMENTS "${PACKAGE_REQUIREMENTS}, ${MATRIXABSTRACTLAYER_REQUIRED}") SET(PACKAGE_REQUIREMENTS "${PACKAGE_REQUIREMENTS}, ${MATRIXABSTRACTLAYER_REQUIRED}")
ENDIF(PACKAGE_REQUIREMENTS STREQUAL "") ENDIF(PACKAGE_REQUIREMENTS STREQUAL "")
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
# --- BOOST NUMERIC BINDINGS-------------------------------------
IF ("${Boost_VERSION}" STRLESS "104000")
INCLUDE(${CMAKE_MODULE_PATH}/FindBoostNumericBindings.cmake)
MESSAGE(STATUS "BoostNumericBindings_INCLUDE_DIR=${BoostNumericBindings_INCLUDE_DIR}")
INCLUDE_DIRECTORIES(${BoostNumericBindings_INCLUDE_DIR})
LIST(APPEND ${PROJECT_NAME}_CFLAGS -I${BoostNumericBindings_INCLUDE_DIR})
ENDIF("${Boost_VERSION}" STRLESS "104000")
# #
# Dependency to package dynamic-graph # Dependency to package dynamic-graph
# #
......
...@@ -2,11 +2,16 @@ ...@@ -2,11 +2,16 @@
# Copyright # Copyright
# #
SET(LIBRARY_NAME ${PROJECT_NAME}) #This project will create many shared libraries as plugins, listed here
SET(plugins
sot/sot-qr
sot/weighted-sot
sot/sot-h
sot/sot
)
#Warning: compile order is VERY important (if you get a segfault, it's probably #sot-core library sources
#the reason SET(${PROJECT_NAME}_SOURCES
SET(${LIBRARY_NAME}_SOURCES
debug/debug.cpp debug/debug.cpp
debug/contiifstream.cpp debug/contiifstream.cpp
...@@ -75,6 +80,7 @@ SET(${LIBRARY_NAME}_SOURCES ...@@ -75,6 +80,7 @@ SET(${LIBRARY_NAME}_SOURCES
factory/command/import.cpp factory/command/import.cpp
) )
SET(LIBRARY_NAME ${PROJECT_NAME})
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
ADD_DEFINITIONS(-DDEBUG=2) ADD_DEFINITIONS(-DDEBUG=2)
...@@ -94,10 +100,10 @@ SET_TARGET_PROPERTIES(${LIBRARY_NAME} ...@@ -94,10 +100,10 @@ SET_TARGET_PROPERTIES(${LIBRARY_NAME}
SOVERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION}
INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib) INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib)
SET_TARGET_PROPERTIES(${PROJECT_NAME_LIB} SET_TARGET_PROPERTIES(${LIBRARY_NAME}
PROPERTIES PROPERTIES
COMPILE_FLAGS ${${PROJECT_NAME}_src_CXXFLAGS} COMPILE_FLAGS "${${PROJECT_NAME}_src_CXXFLAGS}"
LINK_FLAGS ${${PROJECT_NAME}_src_LDFLAGS} LINK_FLAGS "${${PROJECT_NAME}_src_LDFLAGS}"
) )
# Add lapack compilation flags and link to library libLapack.so # Add lapack compilation flags and link to library libLapack.so
...@@ -130,10 +136,10 @@ ENDIF(WIN32) ...@@ -130,10 +136,10 @@ ENDIF(WIN32)
# Linux dynamic loading library flags # Linux dynamic loading library flags
IF(UNIX) IF(UNIX)
SET(${PROJECT_NAME}_src_LDFLAGS "${${PROJECT_NAME}_src_LDFLAGS} -ldl") TARGET_LINK_LIBRARIES(${LIBRARY_NAME} dl)
ENDIF(UNIX) ENDIF(UNIX)
MESSAGE(STATUS "ldflags ${${PROJECT_NAME}_src_LDFLAGS}" )
SET_TARGET_PROPERTIES(${LIBRARY_NAME} SET_TARGET_PROPERTIES(${LIBRARY_NAME}
PROPERTIES PROPERTIES
LINK_FLAGS "${${PROJECT_NAME}_src_LDFLAGS}" LINK_FLAGS "${${PROJECT_NAME}_src_LDFLAGS}"
...@@ -141,3 +147,71 @@ SET_TARGET_PROPERTIES(${LIBRARY_NAME} ...@@ -141,3 +147,71 @@ SET_TARGET_PROPERTIES(${LIBRARY_NAME}
INSTALL(TARGETS ${LIBRARY_NAME} INSTALL(TARGETS ${LIBRARY_NAME}
DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
#Plugins compilation, link, and installation
FOREACH(plugin ${plugins})
#retrieve plugin name
GET_FILENAME_COMPONENT(LIBRARY_NAME ${plugin} NAME)
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
ADD_DEFINITIONS(-DDEBUG=2)
# provide path to library libMatrixAbstractLayer.so
LINK_DIRECTORIES(${MATRIXABSTRACTLAYER_LIBRARY_DIRS})
# provide path to library libdynamic-graph.so
LINK_DIRECTORIES(${DYNAMIC_GRAPH_LIBRARY_DIRS})
# only one source file per plugin
ADD_LIBRARY(${LIBRARY_NAME}
SHARED
${plugin}.cpp)
SET_TARGET_PROPERTIES(${LIBRARY_NAME}
PROPERTIES
SOVERSION ${PROJECT_VERSION}
INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib/plugin)
# Add lapack compilation flags and link to library libLapack.so
ADD_DEFINITIONS(${LAPACK_CFLAGS})
TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${LAPACK_LIBRARIES})
# Add MatrixAbstractLayer compilation flags and link to library libMatrixAbstractLayer.so
ADD_DEFINITIONS(${MATRIXABSTRACTLAYER_CFLAGS})
IF(UNIX)
TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${MATRIXABSTRACTLAYER_LIBRARIES})
ENDIF(UNIX)
IF(WIN32)
foreach(dlink ${MATRIXABSTRACTLAYER_LDFLAGS})
SET ( ${PROJECT_NAME}_src_LDFLAGS "${${PROJECT_NAME}_src_LDFLAGS} ${dlink}")
endforeach(dlink)
ENDIF(WIN32)
# Add dynamic-graph compilation flags and link to library libdynamic-graph.so
ADD_DEFINITIONS(${DYNAMIC_GRAPH_CFLAGS})
IF(UNIX)
TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${DYNAMIC_GRAPH_LIBRARIES})
ENDIF(UNIX)
IF(WIN32)
foreach(dlink ${DYNAMIC_GRAPH_LDFLAGS})
SET ( ${PROJECT_NAME}_src_LDFLAGS "${${PROJECT_NAME}_src_LDFLAGS} ${dlink}")
endforeach(dlink)
ENDIF(WIN32)
# Linux dynamic loading library flags
IF(UNIX)
TARGET_LINK_LIBRARIES(${LIBRARY_NAME} dl)
ENDIF(UNIX)
SET_TARGET_PROPERTIES(${LIBRARY_NAME}
PROPERTIES
COMPILE_FLAGS "${${PROJECT_NAME}_src_CXXFLAGS}"
LINK_FLAGS "${${PROJECT_NAME}_src_LDFLAGS}"
)
INSTALL(TARGETS ${LIBRARY_NAME}
DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/plugin)
ENDFOREACH(plugin)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment