|
| 1 | +diff --git a/CMakeLists.txt b/CMakeLists.txt |
| 2 | +index 67612f0..355d45e 100644 |
| 3 | +--- a/CMakeLists.txt |
| 4 | ++++ b/CMakeLists.txt |
| 5 | +@@ -23,10 +23,10 @@ find_package(std_msgs REQUIRED) |
| 6 | + |
| 7 | + find_package(OpenCV REQUIRED imgproc) |
| 8 | + find_package(PkgConfig) |
| 9 | +-pkg_check_modules(PC_OGG REQUIRED ogg) |
| 10 | +-pkg_check_modules(PC_THEORA REQUIRED theora) |
| 11 | +-pkg_check_modules(PC_THEORAENC REQUIRED theoraenc) |
| 12 | +-pkg_check_modules(PC_THEORADEC REQUIRED theoradec) |
| 13 | ++list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake) |
| 14 | ++ |
| 15 | ++find_package(OGG REQUIRED) |
| 16 | ++find_package(THEORA REQUIRED) |
| 17 | + |
| 18 | + rosidl_generate_interfaces(${PROJECT_NAME} |
| 19 | + "msg/Packet.msg" |
| 20 | +@@ -55,13 +55,13 @@ target_compile_definitions(${LIBRARY_NAME} PRIVATE |
| 21 | + target_include_directories(${LIBRARY_NAME} PRIVATE |
| 22 | + "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>" |
| 23 | + "$<INSTALL_INTERFACE:include/${PROJECT_NAME}>" |
| 24 | +-) |
| 25 | ++ ${THEORA_INCLUDE_DIRS} |
| 26 | ++ ${OGG_INCLUDE_DIRS}) |
| 27 | ++ |
| 28 | + target_link_libraries(${LIBRARY_NAME} |
| 29 | + opencv_imgproc |
| 30 | +- ${PC_OGG_LIBRARIES} |
| 31 | +- ${PC_THEORA_LIBRARIES} |
| 32 | +- ${PC_THEORAENC_LIBRARIES} |
| 33 | +- ${PC_THEORADEC_LIBRARIES} |
| 34 | ++ ${OGG_LIBRARIES} |
| 35 | ++ ${THEORA_LIBRARIES} |
| 36 | + "${cpp_typesupport_target}" |
| 37 | + ${sensor_msgs_TARGETS} |
| 38 | + cv_bridge::cv_bridge |
| 39 | +@@ -71,20 +71,13 @@ target_link_libraries(${LIBRARY_NAME} |
| 40 | + ) |
| 41 | + |
| 42 | + add_executable(ogg_saver src/ogg_saver.cpp) |
| 43 | +-target_compile_definitions(ogg_saver PRIVATE |
| 44 | +- ${PC_OGG_CFLAGS_OTHER} |
| 45 | +- ${PC_THEORA_CFLAGS_OTHER} |
| 46 | +- ${PC_THEORAENC_CFLAGS_OTHER} |
| 47 | +- ${PC_THEORADEC_CFLAGS_OTHER} |
| 48 | +-) |
| 49 | +-target_link_libraries(ogg_saver |
| 50 | +- ${PC_THEORA_LIBRARY} |
| 51 | +- ${PC_OGG_LIBRARY} |
| 52 | +- ${PC_THEORAENC_LIBRARIES} |
| 53 | +- ${PC_THEORADEC_LIBRARIES} |
| 54 | +- "${cpp_typesupport_target}" |
| 55 | +- rclcpp::rclcpp |
| 56 | +- rcutils::rcutils |
| 57 | ++ |
| 58 | ++target_link_libraries(ogg_saver ${THEORA_LIBRARIES} |
| 59 | ++ ${OGG_LIBRARIES} |
| 60 | ++ ${OpenCV_LIBRARIES} |
| 61 | ++ "${cpp_typesupport_target}" |
| 62 | ++ rclcpp::rclcpp |
| 63 | ++ rcutils::rcutils |
| 64 | + ) |
| 65 | + |
| 66 | + ament_export_dependencies( |
| 67 | +diff --git a/cmake/FindOGG.cmake b/cmake/FindOGG.cmake |
| 68 | +new file mode 100644 |
| 69 | +index 0000000..3121d17 |
| 70 | +--- /dev/null |
| 71 | ++++ b/cmake/FindOGG.cmake |
| 72 | +@@ -0,0 +1,26 @@ |
| 73 | ++find_path(OGG_INCLUDE_DIR |
| 74 | ++ NAMES |
| 75 | ++ ogg/ogg.h |
| 76 | ++ DOC "ogg include directory") |
| 77 | ++mark_as_advanced(OGG_INCLUDE_DIR) |
| 78 | ++ |
| 79 | ++find_library(OGG_LIBRARY |
| 80 | ++ NAMES |
| 81 | ++ ogg |
| 82 | ++ DOC "ogg library") |
| 83 | ++mark_as_advanced(OGG_LIBRARY) |
| 84 | ++ |
| 85 | ++include(FindPackageHandleStandardArgs) |
| 86 | ++find_package_handle_standard_args(OGG REQUIRED_VARS OGG_LIBRARY OGG_INCLUDE_DIR) |
| 87 | ++ |
| 88 | ++if (OGG_FOUND) |
| 89 | ++ set(OGG_LIBRARIES "${OGG_LIBRARY}") |
| 90 | ++ set(OGG_INCLUDE_DIRS "${OGG_INCLUDE_DIR}") |
| 91 | ++ |
| 92 | ++ if (NOT TARGET OGG::OGG) |
| 93 | ++ add_library(OGG::OGG UNKNOWN IMPORTED) |
| 94 | ++ set_target_properties(OGG::OGG PROPERTIES |
| 95 | ++ IMPORTED_LOCATION "${OGG_LIBRARY}" |
| 96 | ++ INTERFACE_INCLUDE_DIRECTORIES "${OGG_INCLUDE_DIR}") |
| 97 | ++ endif () |
| 98 | ++endif () |
| 99 | +diff --git a/cmake/FindTHEORA.cmake b/cmake/FindTHEORA.cmake |
| 100 | +new file mode 100644 |
| 101 | +index 0000000..b69dd2c |
| 102 | +--- /dev/null |
| 103 | ++++ b/cmake/FindTHEORA.cmake |
| 104 | +@@ -0,0 +1,66 @@ |
| 105 | ++include(CMakeFindDependencyMacro) |
| 106 | ++ |
| 107 | ++find_path(THEORA_INCLUDE_DIR |
| 108 | ++ NAMES |
| 109 | ++ theora/theora.h |
| 110 | ++ DOC "theora include directory") |
| 111 | ++mark_as_advanced(THEORA_INCLUDE_DIR) |
| 112 | ++ |
| 113 | ++get_filename_component(computed_theora_root "${THEORA_INCLUDE_DIR}" DIRECTORY) |
| 114 | ++ |
| 115 | ++find_library(THEORA_LIBRARY |
| 116 | ++ NAMES |
| 117 | ++ theora |
| 118 | ++ HINTS |
| 119 | ++ "${computed_theora_root}/lib" |
| 120 | ++ "${computed_theora_root}/lib64" |
| 121 | ++ DOC "theora library") |
| 122 | ++mark_as_advanced(THEORA_LIBRARY) |
| 123 | ++ |
| 124 | ++find_library(THEORA_enc_LIBRARY |
| 125 | ++ NAMES |
| 126 | ++ theoraenc |
| 127 | ++ HINTS |
| 128 | ++ "${computed_theora_root}/lib" |
| 129 | ++ "${computed_theora_root}/lib64" |
| 130 | ++ DOC "theora encoding library") |
| 131 | ++mark_as_advanced(THEORA_enc_LIBRARY) |
| 132 | ++ |
| 133 | ++find_library(THEORA_dec_LIBRARY |
| 134 | ++ NAMES |
| 135 | ++ theoradec |
| 136 | ++ HINTS |
| 137 | ++ "${computed_theora_root}/lib" |
| 138 | ++ "${computed_theora_root}/lib64" |
| 139 | ++ DOC "theora decoding library") |
| 140 | ++mark_as_advanced(THEORA_dec_LIBRARY) |
| 141 | ++ |
| 142 | ++include(FindPackageHandleStandardArgs) |
| 143 | ++find_package_handle_standard_args(THEORA |
| 144 | ++ REQUIRED_VARS THEORA_LIBRARY THEORA_enc_LIBRARY THEORA_dec_LIBRARY THEORA_INCLUDE_DIR) |
| 145 | ++ |
| 146 | ++if (THEORA_FOUND) |
| 147 | ++ set(THEORA_LIBRARIES "${THEORA_LIBRARY}" "${THEORA_enc_LIBRARY}" "${THEORA_dec_LIBRARY}") |
| 148 | ++ set(THEORA_INCLUDE_DIRS "${THEORA_INCLUDE_DIR}") |
| 149 | ++ |
| 150 | ++ if (NOT TARGET THEORA::THEORA) |
| 151 | ++ add_library(THEORA::THEORA UNKNOWN IMPORTED) |
| 152 | ++ set_target_properties(THEORA::THEORA PROPERTIES |
| 153 | ++ IMPORTED_LOCATION "${THEORA_LIBRARY}" |
| 154 | ++ INTERFACE_INCLUDE_DIRECTORIES ${THEORA_INCLUDE_DIR}) |
| 155 | ++ endif () |
| 156 | ++ |
| 157 | ++ if (NOT TARGET THEORA::ENC) |
| 158 | ++ add_library(THEORA::ENC UNKNOWN IMPORTED) |
| 159 | ++ set_target_properties(THEORA::ENC PROPERTIES |
| 160 | ++ IMPORTED_LOCATION "${THEORA_enc_LIBRARY}" |
| 161 | ++ INTERFACE_INCLUDE_DIRECTORIES ${THEORA_INCLUDE_DIR}) |
| 162 | ++ endif() |
| 163 | ++ |
| 164 | ++ if (NOT TARGET THEORA::DEC) |
| 165 | ++ add_library(THEORA::DEC UNKNOWN IMPORTED) |
| 166 | ++ set_target_properties(THEORA::DEC PROPERTIES |
| 167 | ++ IMPORTED_LOCATION "${THEORA_dec_LIBRARY}" |
| 168 | ++ INTERFACE_INCLUDE_DIRECTORIES ${THEORA_INCLUDE_DIR}) |
| 169 | ++ endif() |
| 170 | ++endif () |
0 commit comments