Skip to content

Commit 66cd8e0

Browse files
Copy theora-image-transport.win.patch from humble
1 parent ab488ea commit 66cd8e0

File tree

1 file changed

+170
-0
lines changed

1 file changed

+170
-0
lines changed
Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
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

Comments
 (0)