forked from rajnunes/v_repExtRosInterface
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
56 lines (46 loc) · 2.63 KB
/
CMakeLists.txt
File metadata and controls
56 lines (46 loc) · 2.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
cmake_minimum_required(VERSION 2.8.3)
project(vrep_ros_interface)
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG")
find_package(catkin REQUIRED COMPONENTS
roscpp rosmsg image_transport tf cv_bridge
)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules/")
find_package(VREP REQUIRED)
catkin_package(
CATKIN_DEPENDS roscpp rosconsole cv_bridge image_transport tf brics_actuator roslib actionlib_msgs control_msgs diagnostic_msgs geometry_msgs map_msgs nav_msgs pcl_msgs sensor_msgs shape_msgs std_msgs tf2_geometry_msgs tf2_msgs tf2_sensor_msgs trajectory_msgs visualization_msgs
)
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/generated)
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/doc)
include_directories(include ${CMAKE_BINARY_DIR}/generated ${catkin_INCLUDE_DIRS} ${VREP_INCLUDE} ${VREP_COMMON})
link_directories("/opt/ros/fuerte/lib")
link_directories("/opt/ros/groovy/lib")
link_directories("/opt/ros/hydro/lib")
link_directories("/opt/ros/indigo/lib")
link_directories("/opt/ros/jade/lib")
link_directories("/opt/ros/kinetic/lib")
set(generatedFiles)
file(GLOB templateFiles RELATIVE ${CMAKE_SOURCE_DIR}/templates/ ${CMAKE_SOURCE_DIR}/templates/*)
foreach(templateFile ${templateFiles})
add_custom_command(OUTPUT "${CMAKE_BINARY_DIR}/generated/${templateFile}" COMMAND python "${CMAKE_SOURCE_DIR}/external/v_repStubsGen/external/pycpp/pycpp.py" -p "messages_file=${CMAKE_SOURCE_DIR}/meta/messages.txt" -p "services_file=${CMAKE_SOURCE_DIR}/meta/services.txt" -i "${CMAKE_SOURCE_DIR}/templates/${templateFile}" -o "${CMAKE_BINARY_DIR}/generated/${templateFile}" -P "${CMAKE_SOURCE_DIR}/tools" DEPENDS "${CMAKE_SOURCE_DIR}/meta/messages.txt" "${CMAKE_SOURCE_DIR}/meta/services.txt" "${CMAKE_SOURCE_DIR}/templates/${templateFile}")
set(generatedFiles ${generatedFiles} "${CMAKE_BINARY_DIR}/generated/${templateFile}")
endforeach()
add_custom_target(generate_ros_code DEPENDS ${generatedFiles})
vrep_generate_stubs(${CMAKE_BINARY_DIR}/generated XML_FILE ${CMAKE_SOURCE_DIR}/meta/callbacks.xml)
add_library(v_repExtRosInterface src/vrep_ros_interface.cpp ${CMAKE_BINARY_DIR}/generated/stubs.cpp src/ros_msg_builtin_io.cpp ${VREP_EXPORTED_SOURCES} ${CMAKE_BINARY_DIR}/generated/ros_msg_io.cpp ${CMAKE_BINARY_DIR}/generated/ros_srv_io.cpp)
add_dependencies(v_repExtRosInterface ${catkin_EXPORTED_TARGETS} generate_ros_code)
target_link_libraries(v_repExtRosInterface
pthread
dl
roslib
rosconsole
rostime
rospack
roscpp_serialization
roscpp
tf
image_transport
boost_system
${catkin_LIBRARIES}
${VREP_LIBRARIES}
)
set_target_properties(v_repExtRosInterface PROPERTIES COMPILE_FLAGS "-std=c++11")