@@ -15,6 +15,7 @@ endif()
15
15
list (APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR} /cmake)
16
16
17
17
find_package ( Boost REQUIRED COMPONENTS system )
18
+ find_package (g3log REQUIRED)
18
19
19
20
# Actually not using full SDK, just the header files
20
21
# in thirdparty/Oculus
@@ -46,63 +47,61 @@ if (FIPS_CONFIG)
46
47
fips_finish()
47
48
48
49
else ()
49
- # == ROS / Catkin-specific section =================================
50
- project (liboculus )
51
-
52
- find_package (catkin REQUIRED
53
- #cmake_modules
54
- g3log_ros )
55
-
56
- catkin_package(
57
- CATKIN_DEPENDS g3log_ros
58
- INCLUDE_DIRS include thirdparty
59
- LIBRARIES liboculus_LIB )
60
-
61
- add_compile_options (-std=c++14)
62
-
63
- include_directories (
64
- include
65
- thirdparty
66
- ${catkin_INCLUDE_DIRS} )
67
-
68
- set (oculus_SRCS
69
- lib/DataRx .cpp
70
- lib/SonarConfiguration .cpp
71
- lib/SonarStatus .cpp
72
- lib/StatusRx .cpp
73
- lib/SonarPlayer .cpp
74
- lib/OculusMessageHandler.cpp
75
- lib/SimpleFireMessage.cpp
76
- lib/IoServiceThread.cpp )
77
-
78
-
79
- add_library (liboculus_LIB ${oculus_SRCS} )
80
- target_link_libraries (liboculus_LIB ${catkin_LIBRARIES} )
81
-
82
- install (TARGETS liboculus_LIB
83
- ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
84
- LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
85
- RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} )
86
-
87
- ## Install headers
88
- install ( DIRECTORY include / ${PROJECT_NAME} / thirdparty/
89
- DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
90
- FILES_MATCHING PATTERN "*.hpp" PATTERN "*.h"
91
- PATTERN ".git" EXCLUDE )
92
-
93
- if (CATKIN_ENABLE_TESTING)
94
- add_definitions (-DTEST_DATA_PATH= " ${CMAKE_CURRENT_SOURCE_DIR} /test/data" )
95
- include_directories ( test /data/ )
96
-
97
- file (GLOB oculus_test_SRCS
98
- test /unit/*cpp )
99
-
100
- catkin_add_gtest(oculus_test ${oculus_test_SRCS} )
101
-
102
- target_link_libraries (oculus_test ${catkin_LIBRARIES}
103
- liboculus_LIB
104
- Boost:: system )
50
+ # == ament/ROS2 section =================================
51
+ if ( NOT FIPS_CONFIG )
52
+ find_package (ament_cmake REQUIRED)
53
+ find_package (Boost REQUIRED COMPONENTS system )
54
+ find_package (g3log_ros REQUIRED)
55
+
56
+ set (CMAKE_CXX_STANDARD 17)
57
+ set (CMAKE_CXX_STANDARD_REQUIRED ON )
58
+ add_compile_options (-std=c++17)
59
+
60
+ include_directories (
61
+ include
62
+ thirdparty
63
+ ${CMAKE_INSTALL_PREFIX} / include /g3log
64
+ )
65
+
66
+ set (oculus_SRCS
67
+ lib/DataRx.cpp
68
+ lib/SonarConfiguration.cpp
69
+ lib/SonarStatus.cpp
70
+ lib/StatusRx .cpp
71
+ lib/SonarPlayer .cpp
72
+ lib/OculusMessageHandler .cpp
73
+ lib/SimpleFireMessage .cpp
74
+ lib/IoServiceThread .cpp
75
+ )
76
+
77
+ add_library (oculus SHARED ${oculus_SRCS} )
78
+ target_link_libraries (oculus
79
+ Boost:: system
80
+ g3log_ros::g3log_ros
81
+ g3log
82
+ )
83
+ ament_target_dependencies(oculus Boost g3log_ros)
84
+
85
+ install (
86
+ TARGETS oculus
87
+ EXPORT oculus
88
+ ARCHIVE DESTINATION lib
89
+ LIBRARY DESTINATION lib
90
+ RUNTIME DESTINATION bin
91
+ )
92
+
93
+ install (
94
+ DIRECTORY include / ${PROJECT_NAME} / thirdparty/
95
+ DESTINATION include
96
+ FILES_MATCHING PATTERN "*.hpp" PATTERN "*.h"
97
+ PATTERN ".git" EXCLUDE
98
+ )
99
+
100
+ ament_export_targets(oculus HAS_LIBRARY_TARGET)
101
+ ament_export_include_directories( include )
102
+ ament_export_libraries(oculus)
103
+
104
+ ament_package()
105
+ return ( )
105
106
endif ()
106
-
107
-
108
- endif ()
107
+ endif ()
0 commit comments