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

Reply via email to