1
1
# Copyright (C) 2017-2020 LAAS-CNRS
2
2
#
3
- # Author: Olivier Stasse
4
- # Author: Guilhem Saurel
3
+ # Author: Olivier Stasse Author: Guilhem Saurel
5
4
#
6
- CMAKE_MINIMUM_REQUIRED (VERSION 3.1 )
5
+ cmake_minimum_required (VERSION 3.1 )
7
6
8
7
# Project properties
9
- SET (PROJECT_ORG stack-of-tasks )
10
- SET (PROJECT_DESCRIPTION roscontrol_sot )
11
- SET (PROJECT_NAME roscontrol_sot )
12
- SET (PROJECT_URL "https://github.com/${PROJECT_ORG} /${PROJECT_NAME} " )
8
+ set (PROJECT_ORG stack-of-tasks )
9
+ set (PROJECT_DESCRIPTION roscontrol_sot )
10
+ set (PROJECT_NAME roscontrol_sot )
11
+ set (PROJECT_URL "https://github.com/${PROJECT_ORG} /${PROJECT_NAME} " )
13
12
14
13
# Project options
15
14
16
15
# Project configuration
17
- SET (CXX_DISABLE_WERROR True )
18
- SET (PROJECT_USE_CMAKE_EXPORT TRUE )
16
+ set (CXX_DISABLE_WERROR True )
17
+ set (PROJECT_USE_CMAKE_EXPORT TRUE )
19
18
20
19
# JRL-cmakemodule setup
21
- INCLUDE (cmake/base.cmake )
22
- INCLUDE (cmake/boost.cmake )
23
- INCLUDE (cmake/python.cmake )
24
- INCLUDE (cmake/ros.cmake )
20
+ include (cmake/base.cmake )
21
+ include (cmake/boost.cmake )
22
+ include (cmake/ros.cmake )
25
23
26
24
# Project definition
27
- COMPUTE_PROJECT_ARGS (PROJECT_ARGS LANGUAGES CXX )
28
- PROJECT (${PROJECT_NAME} ${PROJECT_ARGS} )
29
- CHECK_MINIMAL_CXX_STANDARD (11 ENFORCE )
25
+ compute_project_args (PROJECT_ARGS LANGUAGES CXX )
26
+ project (${PROJECT_NAME} ${PROJECT_ARGS} )
27
+ check_minimal_cxx_standard (11 ENFORCE )
30
28
31
29
# Project dependencies
32
- FINDPYTHON ()
33
- SEARCH_FOR_BOOST_PYTHON ()
30
+ add_project_dependency (dynamic-graph-python 4.0.6 REQUIRED )
31
+ add_project_dependency (dynamic_graph_bridge REQUIRED )
32
+ add_project_dependency (sot-core REQUIRED )
33
+ add_project_dependency (pinocchio REQUIRED )
34
+ include (cmake/python.cmake ) # TODO: overwriting eigenpy/python.cmake
35
+
36
+ add_project_dependency (control_toolbox REQUIRED )
34
37
add_required_dependency (bullet )
35
38
add_required_dependency (urdfdom )
36
39
37
- find_package (catkin REQUIRED COMPONENTS
38
- pal_hardware_interfaces
39
- controller_interface
40
- controller_manager
41
- pal_common_msgs
42
- roscpp
43
- std_msgs
44
- control_msgs
45
- sensor_msgs
46
- realtime_tools
47
- rospy
48
- )
40
+ find_package (
41
+ catkin REQUIRED
42
+ COMPONENTS pal_hardware_interfaces
43
+ controller_interface
44
+ controller_manager
45
+ pal_common_msgs
46
+ roscpp
47
+ std_msgs
48
+ control_msgs
49
+ sensor_msgs
50
+ realtime_tools
51
+ rospy )
49
52
find_package (temperature_sensor_controller )
50
53
51
- ADD_PROJECT_DEPENDENCY (dynamic-graph-python 4.0.0 REQUIRED )
52
- ADD_PROJECT_DEPENDENCY (dynamic_graph_bridge REQUIRED )
53
- ADD_PROJECT_DEPENDENCY (sot-core REQUIRED )
54
- ADD_PROJECT_DEPENDENCY (pinocchio REQUIRED )
55
- ADD_PROJECT_DEPENDENCY (control_toolbox REQUIRED )
56
-
57
54
# Detect the controller interface version to switch code
58
55
if (controller_interface_FOUND )
59
56
if (${controller_interface_VERSION} VERSION_GREATER "0.2.5" )
@@ -64,43 +61,50 @@ if(controller_interface_FOUND)
64
61
endif ()
65
62
endif ()
66
63
67
- # Detect if temperature sensor controller package is found
68
- # if yes then it is a PAL Robotics Forked code.
64
+ # Detect if temperature sensor controller package is found if yes then it is a
65
+ # PAL Robotics Forked code.
69
66
70
- add_library (rcsot_controller
71
- src/roscontrol-sot-controller.cpp
72
- src/log.cpp
73
- )
74
- target_include_directories (rcsot_controller SYSTEM PUBLIC
75
- ${catkin_INCLUDE_DIRS}
76
- $< INSTALL_INTERFACE:include> )
77
- target_link_libraries (rcsot_controller
78
- ${catkin_LIBRARIES}
79
- ${bullet_LIBRARIES}
80
- sot-core::sot-core
81
- dynamic_graph_bridge::sot_loader
82
- ${control_toolbox_LIBRARIES} )
67
+ add_library (rcsot_controller src/roscontrol-sot-controller.cpp src/log.cpp )
68
+ target_include_directories (
69
+ rcsot_controller SYSTEM PUBLIC ${catkin_INCLUDE_DIRS}
70
+ $< INSTALL_INTERFACE:include> )
71
+ target_link_libraries (
72
+ rcsot_controller ${catkin_LIBRARIES} ${bullet_LIBRARIES} sot-core::sot-core
73
+ dynamic_graph_bridge::sot_loader ${control_toolbox_LIBRARIES} )
83
74
if (temperature_sensor_controller_FOUND )
84
- target_compile_definitions (rcsot_controller PUBLIC TEMPERATURE_SENSOR_CONTROLLER )
85
- message ("temperature_sensor_controller_LIBRARIES: ${temperature_sensor_controller_LIBRARIES} " )
86
- target_include_directories (rcsot_controller SYSTEM PUBLIC ${temperature_sensor_controller_INCLUDE_DIRS} )
87
- target_link_libraries (rcsot_controller ${temperature_sensor_controller_LIBRARIES} )
75
+ target_compile_definitions (rcsot_controller
76
+ PUBLIC TEMPERATURE_SENSOR_CONTROLLER )
77
+ message (
78
+ "temperature_sensor_controller_LIBRARIES: ${temperature_sensor_controller_LIBRARIES} "
79
+ )
80
+ target_include_directories (
81
+ rcsot_controller SYSTEM
82
+ PUBLIC ${temperature_sensor_controller_INCLUDE_DIRS} )
83
+ target_link_libraries (rcsot_controller
84
+ ${temperature_sensor_controller_LIBRARIES} )
88
85
endif ()
89
86
90
- IF (SUFFIX_SO_VERSION )
91
- SET_TARGET_PROPERTIES (rcsot_controller PROPERTIES SOVERSION ${PROJECT_VERSION} )
92
- ENDIF (SUFFIX_SO_VERSION )
87
+ if (SUFFIX_SO_VERSION )
88
+ set_target_properties (rcsot_controller PROPERTIES SOVERSION
89
+ ${PROJECT_VERSION} )
90
+ endif (SUFFIX_SO_VERSION )
93
91
94
- IF (NOT INSTALL_PYTHON_INTERFACE_ONLY )
95
- INSTALL (TARGETS rcsot_controller EXPORT ${TARGETS_EXPORT_NAME} DESTINATION lib )
96
- ENDIF (NOT INSTALL_PYTHON_INTERFACE_ONLY )
92
+ if (NOT INSTALL_PYTHON_INTERFACE_ONLY )
93
+ install (
94
+ TARGETS rcsot_controller
95
+ EXPORT ${TARGETS_EXPORT_NAME}
96
+ DESTINATION lib )
97
+ endif (NOT INSTALL_PYTHON_INTERFACE_ONLY )
97
98
98
- ADD_EXECUTABLE (roscontrol-sot-parse-log src/roscontrol-sot-parse-log.cc )
99
- install (TARGETS roscontrol-sot-parse-log EXPORT ${TARGETS_EXPORT_NAME} DESTINATION bin )
99
+ add_executable (roscontrol-sot-parse-log src/roscontrol-sot-parse-log.cc )
100
+ install (
101
+ TARGETS roscontrol-sot-parse-log
102
+ EXPORT ${TARGETS_EXPORT_NAME}
103
+ DESTINATION bin )
100
104
101
105
foreach (dir config launch )
102
106
install (DIRECTORY ${dir} DESTINATION share/${PROJECT_NAME} )
103
107
endforeach (dir )
104
108
105
- ADD_SUBDIRECTORY (tests )
106
- INSTALL (FILES package.xml DESTINATION share/${PROJECT_NAME} )
109
+ add_subdirectory (tests )
110
+ install (FILES package.xml DESTINATION share/${PROJECT_NAME} )
0 commit comments