diff --git a/CMakeLists.txt b/CMakeLists.txt index ea795503d6790c38d60fc8e95e4bf7ac48788ea7..43ad923e18245fd45be54cb6011b2f8380e52255 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,62 +1,53 @@ -CMAKE_MINIMUM_REQUIRED(VERSION 2.8.3) +CMAKE_MINIMUM_REQUIRED(VERSION 3.1) +# Project properties SET(PROJECT_ORG pyrene-dev) SET(PROJECT_NAME talos_data) SET(PROJECT_DESCRIPTION "Talos urdf model, srdf model and other data") SET(PROJECT_URL "https://gepgitlab.laas.fr/${PROJECT_ORG}/${PROJECT_NAME}") +# Project options +OPTION(SUFFIX_SO_VERSION "Suffix library name with its version" ON) + +# Project configuration SET(PROJECT_USE_CMAKE_EXPORT TRUE) -SET(CXX_DISABLE_WERROR True) +SET(CXX_DISABLE_WERROR TRUE) SET(CMAKE_CXX_STANDARD 11) +SET(PACKAGE_EXTRA_MACROS "set(TALOS_DATA_PREFIX \${PACKAGE_PREFIX_DIR})") -#include(cmake/ros.cmake) +# JRL-cmakemodule setup INCLUDE(cmake/base.cmake) -# Specify the project. -COMPUTE_PROJECT_ARGS(PROJECT_ARGS LANGUAGES CXX) +# Project definition +COMPUTE_PROJECT_ARGS(PROJECT_ARGS LANGUAGES CXX C) PROJECT(${PROJECT_NAME} ${PROJECT_ARGS}) -find_package(catkin REQUIRED COMPONENTS - roscpp) - -catkin_package( - # INCLUDE_DIRS include - # LIBRARIES talos_description - # CATKIN_DEPENDS roscpp - # DEPENDS system_lib - ) - -# Find xml_reflection +# Project dependencies ADD_PROJECT_DEPENDENCY(urdfdom REQUIRED) ADD_PROJECT_DEPENDENCY(gazebo REQUIRED) ADD_PROJECT_DEPENDENCY(roscpp) +find_package(catkin REQUIRED COMPONENTS roscpp) -# Needed due to the CMakeTarget from gazebo. -INCLUDE_DIRECTORIES(${GAZEBO_INCLUDE_DIRS}) -INCLUDE_DIRECTORIES(${catkin_INCLUDE_DIRS}) - - -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") - - -SET(LIBRARY_NAME ${PROJECT_NAME}) +# Main Library +SET(${PROJECT_NAME}_HEADERS + ) -ADD_LIBRARY(${PROJECT_NAME} - SHARED +SET(${PROJECT_NAME}_SOURCES src/SpringPlugin.cc ) -TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PRIVATE ${GAZEBO_INCLUDE_DIRS}) -TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PRIVATE ${catkin_INCLUDE_DIRS}) +ADD_LIBRARY(${PROJECT_NAME} SHARED + ${${PROJECT_NAME}_SOURCES} ${${PROJECT_NAME}_HEADERS}) +TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PRIVATE ${GAZEBO_INCLUDE_DIRS} ${catkin_INCLUDE_DIRS}) -INSTALL(TARGETS - ${PROJECT_NAME} - EXPORT ${TARGETS_EXPORT_NAME} - DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} - LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} - ) +IF(SUFFIX_SO_VERSION) + SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${PROJECT_VERSION}) +ENDIF(SUFFIX_SO_VERSION) + +INSTALL(TARGETS ${PROJECT_NAME} EXPORT ${TARGETS_EXPORT_NAME} DESTINATION lib) FOREACH(dir config gazebo meshes robots urdf scripts srdf launch) - INSTALL(DIRECTORY ${dir}/ - DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/${dir}) + INSTALL(DIRECTORY ${dir} DESTINATION share/${PROJECT_NAME}) ENDFOREACH(dir) + +INSTALL(FILES package.xml DESTINATION share/${PROJECT_NAME}) diff --git a/cmake b/cmake index 61344038b1352d5a8de1e20db710c83be805d2eb..321eb1ccf1d94570eb564f3659b13ef3ef82239e 160000 --- a/cmake +++ b/cmake @@ -1 +1 @@ -Subproject commit 61344038b1352d5a8de1e20db710c83be805d2eb +Subproject commit 321eb1ccf1d94570eb564f3659b13ef3ef82239e