11PROJECT (ut_automata)
2- CMAKE_MINIMUM_REQUIRED (VERSION 3.1.0 )
2+ CMAKE_MINIMUM_REQUIRED (VERSION 3.6 )
3+
4+ if (DEFINED ENV{ROS_VERSION})
5+ set (ROS_VERSION $ENV{ROS_VERSION} )
6+ else ()
7+ message (FATAL_ERROR "ROS_VERSION is not defined" )
8+ endif ()
39
410MESSAGE (STATUS "Compilers found: ${CMAKE_CXX_COMPILER_LIST} " )
511MESSAGE (STATUS "Using compiler: ${CMAKE_CXX_COMPILER } " )
612MESSAGE (STATUS "Build Type: ${CMAKE_BUILD_TYPE } " )
713MESSAGE (STATUS "Build Mode: ${CMAKE_BUILD_MODE} " )
814MESSAGE (STATUS "Arch: ${CMAKE_SYSTEM_PROCESSOR } " )
15+ MESSAGE (STATUS "ROS_VERSION: ${ROS_VERSION} " )
916
10- SET (CMAKE_AUTOMOC ON )
11- SET (CMAKE_AUTORCC ON )
12- SET (CMAKE_AUTOUIC ON )
17+ # SET(CMAKE_AUTOMOC ON)
18+ # SET(CMAKE_AUTORCC ON)
19+ # SET(CMAKE_AUTOUIC ON)
1320
1421IF (CMAKE_VERSION VERSION_LESS "3.7.0" )
1522 SET (CMAKE_INCLUDE_CURRENT_DIR ON )
@@ -23,20 +30,37 @@ IF(${CMAKE_BUILD_TYPE} MATCHES "Release")
2330ELSEIF (${CMAKE_BUILD_TYPE } MATCHES "Debug" )
2431 MESSAGE (STATUS "Additional Flags for Debug mode" )
2532 SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS } -g" )
26- SET (BUILD_SPECIFIC_LIBRARIES "" )
2733ENDIF ()
2834
29- INCLUDE ($ENV{ROS_ROOT} /core/rosbuild/rosbuild.cmake )
30- ROSBUILD_INIT ()
31- SET (ROS_BUILD_STATIC_LIBS true )
32- SET (ROS_BUILD_SHARED_LIBS false )
35+ if (${ROS_VERSION} EQUAL "1" )
36+ INCLUDE ($ENV{ROS_ROOT} /core/rosbuild/rosbuild.cmake )
37+ ROSBUILD_INIT ()
38+ SET (ROS_BUILD_STATIC_LIBS true )
39+ SET (ROS_BUILD_SHARED_LIBS false )
40+ ROSBUILD_GENMSG ()
41+ SET (libs roslib roscpp glog gflags amrl_shared_lib rosbag X11 lua5.1 boost_system)
42+ elseif (${ROS_VERSION} EQUAL "2" )
43+ find_package (ament_cmake REQUIRED )
44+ find_package (geometry_msgs REQUIRED )
45+ find_package (nav_msgs REQUIRED )
46+ find_package (std_msgs REQUIRED )
47+ find_package (rclcpp REQUIRED )
48+ find_package (amrl_msgs REQUIRED )
49+ find_package (rosidl_default_generators REQUIRED )
50+ rosidl_generate_interfaces (${PROJECT_NAME }
51+ "msg/CarStatusMsg.msg"
52+ "msg/VescState.msg"
53+ "msg/VescStateStamped.msg"
54+ DEPENDENCIES std_msgs
55+ )
56+ SET (libs glog gflags amrl_shared_lib X11 lua5.1)
57+ endif ()
3358
3459FIND_PACKAGE (Qt5 COMPONENTS Core Widgets Gui WebSockets OpenGL REQUIRED )
3560SET (CMAKE_INCLUDE_CURRENT_DIR ON )
3661
3762MESSAGE (STATUS "ROS-Overrride Build Type: ${CMAKE_BUILD_TYPE } " )
3863MESSAGE (STATUS "CXX Flags: ${CMAKE_CXX_FLAGS } " )
39- MESSAGE (STATUS "Build-Specific Libraries: ${BUILD_SPECIFIC_LIBRARIES} " )
4064
4165SET (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR } /bin)
4266SET (LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR } /lib)
@@ -48,16 +72,10 @@ INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/src)
4872INCLUDE_DIRECTORIES (${PROJECT_SOURCE_DIR } /include )
4973INCLUDE_DIRECTORIES (${PROJECT_SOURCE_DIR } /submodules/config_reader/include )
5074
51- ROSBUILD_GENMSG ()
52-
5375ADD_SUBDIRECTORY (src/shared )
5476INCLUDE_DIRECTORIES (${PROJECT_SOURCE_DIR } /src/shared )
5577
56- SET (libs roslib roscpp glog gflags amrl_shared_lib
57- ${BUILD_SPECIFIC_LIBRARIES} rosbag X11 lua5.1 boost_system)
58-
59- IF (${CMAKE_BUILD_MODE} MATCHES "Hardware" )
60- MESSAGE (STATUS "Building hardware drivers" )
78+ if (${ROS_VERSION} EQUAL "1" )
6179 rosbuild_add_executable (vesc_driver
6280 src/vesc_driver/serial.cc
6381 src/vesc_driver/vesc_driver_node.cpp
@@ -83,29 +101,29 @@ IF(${CMAKE_BUILD_MODE} MATCHES "Hardware")
83101 src/joystick/joystick.cc
84102 src/joystick/joystick_driver.cc )
85103 TARGET_LINK_LIBRARIES (joystick ${libs} )
86- ENDIF ()
87104
88- MESSAGE (STATUS "Building simulator" )
89-
90- ROSBUILD_ADD_EXECUTABLE (simulator
91- src/simulator/simulator.cc
92- src/simulator/vector_map.cc
93- src/simulator/simulator_main.cc )
94- TARGET_LINK_LIBRARIES (simulator ${libs} )
95-
96- ROSBUILD_ADD_EXECUTABLE (step_simulator
97- src/simulator/simulator.cc
98- src/simulator/vector_map.cc
99- src/simulator/step_simulator_main.cc )
100- TARGET_LINK_LIBRARIES (step_simulator ${libs} )
101-
102- ROSBUILD_ADD_EXECUTABLE (websocket
103- src/websocket/websocket_main.cc
104- src/websocket/websocket.cc
105- )
106- TARGET_LINK_LIBRARIES (websocket
107- Qt5::Core
108- Qt5::Gui
109- Qt5::Widgets
110- Qt5::WebSockets
111- ${libs} )
105+ ROSBUILD_ADD_EXECUTABLE (simulator
106+ src/simulator/simulator.cc
107+ src/simulator/vector_map.cc
108+ src/simulator/simulator_main.cc )
109+ TARGET_LINK_LIBRARIES (simulator ${libs} )
110+
111+ ROSBUILD_ADD_EXECUTABLE (step_simulator
112+ src/simulator/simulator.cc
113+ src/simulator/vector_map.cc
114+ src/simulator/step_simulator_main.cc )
115+ TARGET_LINK_LIBRARIES (step_simulator ${libs} )
116+
117+ ROSBUILD_ADD_EXECUTABLE (websocket
118+ src/websocket/websocket_main_ros1.cc
119+ src/websocket/websocket.cc
120+ )
121+ TARGET_LINK_LIBRARIES (websocket
122+ Qt5::Core
123+ Qt5::Gui
124+ Qt5::Widgets
125+ Qt5::WebSockets
126+ ${libs} )
127+ elseif (${ROS_VERSION} EQUAL "2" )
128+ ament_package ()
129+ endif ()
0 commit comments