Hi Robert,
there are plenty of cases where you want to avoid compiling/shipping
FFMPEG with the OSG. Hence, it would be preferable to make the plugin
conditional. This patch adds an option in CMake.
Cheers,
Hartmut
--
Hartmut Seichter, PhD (HKU), Dipl.-Ing. (BUW)
Index: src/osgPlugins/ffmpeg/CMakeLists.txt
===================================================================
--- src/osgPlugins/ffmpeg/CMakeLists.txt (revision 12681)
+++ src/osgPlugins/ffmpeg/CMakeLists.txt (working copy)
@@ -1,54 +1,57 @@
-INCLUDE_DIRECTORIES( ${FFMPEG_INCLUDE_DIRS} )
-LINK_DIRECTORIES(${FFMPEG_LIBRARY_DIRS})
-SET(TARGET_EXTERNAL_LIBRARIES ${FFMPEG_LIBRARIES} )
+OPTION(BUILD_OSG_PLUGIN_FFMPEG OFF "Build FFMPEG plugin for OpenSceneGraph")
+IF(${BUILD_OSG_PLUGIN_FFMPEG})
+ INCLUDE_DIRECTORIES( ${FFMPEG_INCLUDE_DIRS} )
+ LINK_DIRECTORIES(${FFMPEG_LIBRARY_DIRS})
+ SET(TARGET_EXTERNAL_LIBRARIES ${FFMPEG_LIBRARIES} )
-IF(FFMPEG_LIBSWSCALE_FOUND)
+ IF(FFMPEG_LIBSWSCALE_FOUND)
- INCLUDE_DIRECTORIES( ${FFMPEG_LIBSWSCALE_INCLUDE_DIRS}
${FFMPEG_LIBSWSCALE_INCLUDE_DIRS}/libswscale )
+ INCLUDE_DIRECTORIES( ${FFMPEG_LIBSWSCALE_INCLUDE_DIRS}
${FFMPEG_LIBSWSCALE_INCLUDE_DIRS}/libswscale )
- ADD_DEFINITIONS(-DUSE_SWSCALE)
+ ADD_DEFINITIONS(-DUSE_SWSCALE)
- SET(TARGET_EXTERNAL_LIBRARIES ${FFMPEG_LIBRARIES}
${FFMPEG_LIBSWSCALE_LIBRARIES})
+ SET(TARGET_EXTERNAL_LIBRARIES ${FFMPEG_LIBRARIES}
${FFMPEG_LIBSWSCALE_LIBRARIES})
-ENDIF()
+ ENDIF()
-# MESSAGE("FFMPEG_LIBAVFORMAT_INCLUDE_DIRS = "
${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS} )
-# MESSAGE("FFMPEG_LIBAVDEVICE_INCLUDE_DIRS = "
${FFMPEG_LIBAVDEVICE_INCLUDE_DIRS} )
-# MESSAGE("FFMPEG_LIBAVCODEC_INCLUDE_DIRS = "
${FFMPEG_LIBAVCODEC_INCLUDE_DIRS} )
-# MESSAGE("FFMPEG_LIBAVUTIL_INCLUDE_DIRS = " ${FFMPEG_LIBAVUTIL_INCLUDE_DIRS}
)
-# MESSAGE("FFMPEG_LIBRARIES = " ${FFMPEG_LIBRARIES} )
+ # MESSAGE("FFMPEG_LIBAVFORMAT_INCLUDE_DIRS = "
${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS} )
+ # MESSAGE("FFMPEG_LIBAVDEVICE_INCLUDE_DIRS = "
${FFMPEG_LIBAVDEVICE_INCLUDE_DIRS} )
+ # MESSAGE("FFMPEG_LIBAVCODEC_INCLUDE_DIRS = "
${FFMPEG_LIBAVCODEC_INCLUDE_DIRS} )
+ # MESSAGE("FFMPEG_LIBAVUTIL_INCLUDE_DIRS = "
${FFMPEG_LIBAVUTIL_INCLUDE_DIRS} )
+ # MESSAGE("FFMPEG_LIBRARIES = " ${FFMPEG_LIBRARIES} )
-SET(TARGET_SRC
- FFmpegClocks.cpp
- FFmpegDecoderAudio.cpp
- FFmpegDecoder.cpp
- FFmpegDecoderVideo.cpp
- FFmpegImageStream.cpp
- FFmpegAudioStream.cpp
- FFmpegParameters.cpp
- ReaderWriterFFmpeg.cpp
-)
+ SET(TARGET_SRC
+ FFmpegClocks.cpp
+ FFmpegDecoderAudio.cpp
+ FFmpegDecoder.cpp
+ FFmpegDecoderVideo.cpp
+ FFmpegImageStream.cpp
+ FFmpegAudioStream.cpp
+ FFmpegParameters.cpp
+ ReaderWriterFFmpeg.cpp
+ )
-SET(TARGET_H
- BoundedMessageQueue.hpp
- FFmpegClocks.hpp
- FFmpegDecoderAudio.hpp
- FFmpegDecoder.hpp
- FFmpegDecoderVideo.hpp
- FFmpegHeaders.hpp
- FFmpegPacket.hpp
- FFmpegImageStream.hpp
- FFmpegAudioStream.hpp
- FFmpegParameters.hpp
- MessageQueue.hpp
-)
+ SET(TARGET_H
+ BoundedMessageQueue.hpp
+ FFmpegClocks.hpp
+ FFmpegDecoderAudio.hpp
+ FFmpegDecoder.hpp
+ FFmpegDecoderVideo.hpp
+ FFmpegHeaders.hpp
+ FFmpegPacket.hpp
+ FFmpegImageStream.hpp
+ FFmpegAudioStream.hpp
+ FFmpegParameters.hpp
+ MessageQueue.hpp
+ )
-IF(CMAKE_COMPILER_IS_GNUCXX)
- # Remove -pedantic flag as it barfs on ffmoeg headers
- STRING(REGEX REPLACE "-pedantic" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
-ENDIF()
+ IF(CMAKE_COMPILER_IS_GNUCXX)
+ # Remove -pedantic flag as it barfs on ffmoeg headers
+ STRING(REGEX REPLACE "-pedantic" "" CMAKE_CXX_FLAGS
"${CMAKE_CXX_FLAGS}")
+ ENDIF()
-#### end var setup ###
-SETUP_PLUGIN(ffmpeg ffmpeg)
+ #### end var setup ###
+ SETUP_PLUGIN(ffmpeg ffmpeg)
+ENDIF()
\ No newline at end of file
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org