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

Modified CMakeLists.txt to remove multiple definitions and include dirs.

parent dcd9bea8
No related branches found
No related tags found
No related merge requests found
...@@ -136,11 +136,21 @@ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc ...@@ -136,11 +136,21 @@ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc
DESTINATION ${install_libdir_pkgconfig} DESTINATION ${install_libdir_pkgconfig}
PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE) PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_WRITE)
# Uninstall target.
CONFIGURE_FILE(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
IMMEDIATE @ONLY)
ADD_CUSTOM_TARGET(uninstall
"${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
ADD_SUBDIRECTORY(src) ADD_SUBDIRECTORY(src)
ADD_SUBDIRECTORY(include) ADD_SUBDIRECTORY(include)
ADD_SUBDIRECTORY(unitTesting) ADD_SUBDIRECTORY(unitTesting)
ADD_SUBDIRECTORY(tools) ADD_SUBDIRECTORY(tools)
# #
# Documentation produced by doxygen # Documentation produced by doxygen
# #
......
...@@ -2,6 +2,45 @@ ...@@ -2,6 +2,45 @@
# Copyright # Copyright
# #
# Libraries DEFINITIONS and INCLUDES
# The main include dir
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
#define VP_DEBUG if we're building in debug mode
IF(${CMAKE_BUILD_TYPE} STREQUAL DEBUG)
#ADD_DEFINITIONS(-DVP_DEBUG)
ENDIF (${CMAKE_BUILD_TYPE} STREQUAL DEBUG)
ADD_DEFINITIONS(-DDEBUG=2)
# Add lapack compilation flags and link to library libLapack.so
ADD_DEFINITIONS(${LAPACK_CFLAGS})
# Add dynamic-graph compilation flags and link to library libdynamic-graph.so
ADD_DEFINITIONS(${DYNAMIC_GRAPH_CFLAGS})
# Add MatrixAbstractLayer compilation flags and link to library libMatrixAbstractLayer.so
ADD_DEFINITIONS(${MATRIXABSTRACTLAYER_CFLAGS})
# provide path to library libMatrixAbstractLayer.so
LINK_DIRECTORIES(${MATRIXABSTRACTLAYER_LIBRARY_DIRS})
# provide path to library libdynamic-graph.so
LINK_DIRECTORIES(${DYNAMIC_GRAPH_LIBRARY_DIRS})
IF(WIN32)
foreach(dlink ${MATRIXABSTRACTLAYER_LDFLAGS})
SET ( ${PROJECT_NAME}_src_LDFLAGS "${${PROJECT_NAME}_src_LDFLAGS} ${dlink}")
endforeach(dlink)
ENDIF(WIN32)
IF(WIN32)
foreach(dlink ${DYNAMIC_GRAPH_LDFLAGS})
SET ( ${PROJECT_NAME}_src_LDFLAGS "${${PROJECT_NAME}_src_LDFLAGS} ${dlink}")
endforeach(dlink)
ENDIF(WIN32)
# The main library name # The main library name
SET(SOTCORE_LIB_NAME ${PROJECT_NAME}) SET(SOTCORE_LIB_NAME ${PROJECT_NAME})
...@@ -45,6 +84,7 @@ SET(plugins ...@@ -45,6 +84,7 @@ SET(plugins
traces/reader traces/reader
) )
#Build sot-core
SET(LIBRARY_NAME ${SOTCORE_LIB_NAME}) SET(LIBRARY_NAME ${SOTCORE_LIB_NAME})
#sot-core library sources #sot-core library sources
...@@ -85,21 +125,6 @@ SET(${PROJECT_NAME}_SOURCES ...@@ -85,21 +125,6 @@ SET(${PROJECT_NAME}_SOURCES
factory/command/import.cpp factory/command/import.cpp
) )
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
#define VP_DEBUG if we're building in debug mode
IF(${CMAKE_BUILD_TYPE} STREQUAL DEBUG)
ADD_DEFINITIONS(-DVP_DEBUG)
ENDIF (${CMAKE_BUILD_TYPE} STREQUAL DEBUG)
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})
ADD_LIBRARY(${LIBRARY_NAME} ADD_LIBRARY(${LIBRARY_NAME}
SHARED SHARED
${${LIBRARY_NAME}_SOURCES}) ${${LIBRARY_NAME}_SOURCES})
...@@ -115,34 +140,16 @@ SET_TARGET_PROPERTIES(${LIBRARY_NAME} ...@@ -115,34 +140,16 @@ SET_TARGET_PROPERTIES(${LIBRARY_NAME}
LINK_FLAGS "${${PROJECT_NAME}_src_LDFLAGS}" LINK_FLAGS "${${PROJECT_NAME}_src_LDFLAGS}"
) )
# Add lapack compilation flags and link to library libLapack.so
ADD_DEFINITIONS(${LAPACK_CFLAGS})
TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${LAPACK_LIBRARIES}) TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${LAPACK_LIBRARIES})
# Add MatrixAbstractLayer compilation flags and link to library libMatrixAbstractLayer.so
ADD_DEFINITIONS(${MATRIXABSTRACTLAYER_CFLAGS})
IF(UNIX) IF(UNIX)
TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${MATRIXABSTRACTLAYER_LIBRARIES}) TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${MATRIXABSTRACTLAYER_LIBRARIES})
ENDIF(UNIX) 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) IF(UNIX)
TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${DYNAMIC_GRAPH_LIBRARIES}) TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${DYNAMIC_GRAPH_LIBRARIES})
ENDIF(UNIX) 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 # Linux dynamic loading library flags
IF(UNIX) IF(UNIX)
TARGET_LINK_LIBRARIES(${LIBRARY_NAME} dl) TARGET_LINK_LIBRARIES(${LIBRARY_NAME} dl)
...@@ -155,33 +162,18 @@ SET_TARGET_PROPERTIES(${LIBRARY_NAME} ...@@ -155,33 +162,18 @@ 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 #Plugins compilation, link, and installation
#Compiles a plugin. The plugin library is ${LIBRARY_NAME}
FOREACH(plugin ${plugins}) FOREACH(plugin ${plugins})
#retrieve plugin name #retrieve plugin name
GET_FILENAME_COMPONENT(LIBRARY_NAME ${plugin} NAME) GET_FILENAME_COMPONENT(LIBRARY_NAME ${plugin} NAME)
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
#define VP_DEBUG if we're building in debug mode
IF(${CMAKE_BUILD_TYPE} STREQUAL DEBUG)
ADD_DEFINITIONS(-DVP_DEBUG)
ENDIF (${CMAKE_BUILD_TYPE} STREQUAL DEBUG)
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 # only one source file per plugin
ADD_LIBRARY(${LIBRARY_NAME} ADD_LIBRARY(${LIBRARY_NAME}
SHARED SHARED
${plugin}.cpp) ${plugin}.cpp)
#remove the "lib" prefix from the plugin output name #remove the "lib" prefix from the plugin output name
SET_TARGET_PROPERTIES(${LIBRARY_NAME} SET_TARGET_PROPERTIES(${LIBRARY_NAME}
PROPERTIES PROPERTIES
...@@ -194,36 +186,14 @@ FOREACH(plugin ${plugins}) ...@@ -194,36 +186,14 @@ FOREACH(plugin ${plugins})
# Link with sot-core library # Link with sot-core library
TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${SOTCORE_LIB_NAME}) TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${SOTCORE_LIB_NAME})
# Add lapack compilation flags and link to library libLapack.so
ADD_DEFINITIONS(${LAPACK_CFLAGS})
TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${LAPACK_LIBRARIES}) TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${LAPACK_LIBRARIES})
# Linux dynamic loading library flags
# Add MatrixAbstractLayer compilation flags and link to library libMatrixAbstractLayer.so
ADD_DEFINITIONS(${MATRIXABSTRACTLAYER_CFLAGS})
IF(UNIX) IF(UNIX)
TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${MATRIXABSTRACTLAYER_LIBRARIES}) TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${MATRIXABSTRACTLAYER_LIBRARIES})
ENDIF(UNIX) 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) IF(UNIX)
TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${DYNAMIC_GRAPH_LIBRARIES}) TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${DYNAMIC_GRAPH_LIBRARIES})
ENDIF(UNIX) 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) IF(UNIX)
TARGET_LINK_LIBRARIES(${LIBRARY_NAME} dl) TARGET_LINK_LIBRARIES(${LIBRARY_NAME} dl)
ENDIF(UNIX) ENDIF(UNIX)
......
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