-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
executable file
·144 lines (107 loc) · 5.16 KB
/
CMakeLists.txt
File metadata and controls
executable file
·144 lines (107 loc) · 5.16 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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
cmake_minimum_required(VERSION 3.3)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_FLAGS_RELEASE "-O3")
set(CATKIN_ENABLE_TESTING OFF)
project(bluerov2common)
## Compile as C++11, supported in ROS Kinetic and newer
# add_compile_options(-std=c++11)d
## Find catkin macros and libraries
## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
## is used, also find other catkin packages
#find_package(catkin REQUIRED COMPONENTS roscpp rospy std_msgs roscpp message_generation cv_bridge ping360_sonar_msgs bluerov2commonmsgs dynamic_reconfigure waterlinked_dvl)
#find_package(PCL 1.10 REQUIRED COMPONENTS common io visualization)
#find_package (Eigen3 3.3 REQUIRED NO_MODULE)
find_package(eigen3_cmake_module REQUIRED)
find_package(Eigen3)
find_package(tf2 REQUIRED)
find_package(ament_cmake REQUIRED)
find_package(ament_cmake_python REQUIRED)
#set(CMAKE_AUTOMOC ON)
#set(CMAKE_AUTORCC ON)
#set(CMAKE_AUTOUIC ON)
#find_package(Qt5 COMPONENTS Core Gui Widgets Gamepad REQUIRED)
##find_package(OpenCV REQUIRED)
#find_package(Qt5PrintSupport REQUIRED)
find_package(rclcpp REQUIRED)
find_package(rclpy REQUIRED)
find_package(std_msgs REQUIRED)
find_package(geometry_msgs REQUIRED)
find_package(sensor_msgs REQUIRED)
find_package(bluerov2commonmsgs REQUIRED)
find_package(px4_msgs REQUIRED)
find_package(visualization_msgs REQUIRED)
find_package(waterlinked_a50 REQUIRED)
find_package(ping360_sonar_msgs REQUIRED)
find_package(cv_bridge REQUIRED)
find_package(px4_ros2_cpp REQUIRED)
############## LIBRARYS ##############
#add_library(generalhelpfullib SHARED src/generalTools/generalHelpfulTools.cpp)
#target_include_directories(generalhelpfullib PUBLIC src/generalTools)
#ament_target_dependencies(generalhelpfullib tf2 Eigen3)
set(lib_name i2c)
add_library(${lib_name} src/i2c/i2c.cpp)
install(TARGETS ${lib_name}
EXPORT ${lib_name}Target
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
RUNTIME DESTINATION bin
INCLUDES DESTINATION include
)
set(lib_name ms5837)
add_library(${lib_name} src/barometer/ms5837.cpp)
target_link_libraries(${lib_name} i2c)
target_include_directories(${lib_name} PUBLIC src/i2c)
install(TARGETS ${lib_name}
EXPORT ${lib_name}Target
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
RUNTIME DESTINATION bin
INCLUDES DESTINATION include
)
include_directories(src/generalTools
${QWT_INCLUDE_DIR})
############## Executables ##############
add_executable(ekfNode src/stateEstimation/ekfDVLnode.cpp src/stateEstimation/pose.h src/stateEstimation/ekfDVL.cpp src/stateEstimation/ekfDVL.h src/generalTools/generalHelpfulTools.cpp )
ament_target_dependencies(ekfNode rclcpp std_msgs sensor_msgs bluerov2commonmsgs waterlinked_a50 tf2 Eigen3 px4_msgs)
#target_link_libraries(ekfNode )
#add_executable(testFile src/testFile.cpp src/stateEstimation/pose.h src/stateEstimation/ekfDVL.cpp src/stateEstimation/ekfDVL.h )
#ament_target_dependencies(testFile rclcpp std_msgs sensor_msgs bluerov2commonmsgs)
#target_link_libraries(testFile generalhelpfullib )
#add_executable(controllerbluerov2 src/controller/controllerOfBluerov2.h src/controller/controllerOfBluerov2.cpp src/controller/controllerRosNode.cpp)
#ament_target_dependencies(controllerbluerov2 rclcpp std_msgs sensor_msgs bluerov2commonmsgs tf2 Eigen3 px4_msgs visualization_msgs)
add_executable(controllerpx4bluerov2 src/px4_controller/mode.hpp src/px4_controller/main.cpp src/px4_controller/controllerOfBluerov2.cpp src/px4_controller/controllerOfBluerov2.h)
ament_target_dependencies(controllerpx4bluerov2 px4_ros2_cpp rclcpp std_msgs sensor_msgs bluerov2commonmsgs tf2 Eigen3 px4_msgs visualization_msgs)
#add_executable(visualizationPing360 src/visualizationSonarImage.cpp)
#ament_target_dependencies(visualizationPing360 rclcpp std_msgs sensor_msgs bluerov2commonmsgs ping360_sonar_msgs cv_bridge)
#add_executable(guibluerov2 src/gui/guiBlueROV2.cpp src/gui/mainwindow.h src/gui/mainwindow.cpp src/gui/rosHandlerGui.cpp src/gui/rosHandlerGui.h src/gui/qcustomplot.h src/gui/qcustomplot.cpp)
#ament_target_dependencies(guibluerov2 rclcpp std_msgs sensor_msgs bluerov2commonmsgs tf2 Eigen3 cv_bridge waterlinked_a50)
#target_link_libraries(guibluerov2 Qt5::Core Qt5::Gui Qt5::Widgets Qt5::PrintSupport Qt5::Gamepad)
add_executable(barometer_node
src/barometer/barometer_node.cpp
src/barometer/barometer.cpp
# src/barometer/barometer_params.cpp
)
target_link_libraries(barometer_node ms5837)
ament_target_dependencies(barometer_node rclcpp std_msgs sensor_msgs )
install(TARGETS
ekfNode
# controllerbluerov2
barometer_node
controllerpx4bluerov2
DESTINATION lib/${PROJECT_NAME}
)
install(DIRECTORY launch DESTINATION share/${PROJECT_NAME}/)
#ament_python_install_package(${PROJECT_NAME})
install(PROGRAMS
scripts/pwmServicesMaintube.py
scripts/pwmServicesSensortube.py
# scripts/leakageSensorTopTube.py
# scripts/leakageSensorSensorTube.py
scripts/powerControlBottomTube.py
# scripts/mjpeg_cam_python.py
bashScripts/xrcClientStart.sh
bashScripts/startpigpiod.sh
DESTINATION lib/${PROJECT_NAME}
)
ament_package()