# # Find the native FFMPEG includes and library # # This module defines # FFMPEG_INCLUDE_DIR, where to find avcodec.h, avformat.h ... # FFMPEG_LIBRARIES, the libraries to link against to use FFMPEG. # FFMPEG_FOUND, If false, do not try to use FFMPEG. # also defined, but not for general use are # FFMPEG_avformat_LIBRARY and FFMPEG_avcodec_LIBRARY, where to find the FFMPEG library. # This is useful to do it this way so that we can always add more libraries # if needed to FFMPEG_LIBRARIES if ffmpeg ever changes... # if ffmpeg headers are all in one directory FIND_PATH(FFMPEG_INCLUDE_DIR avformat.h PATHS $ENV{FFMPEG_DIR}/include $ENV{OSGDIR}/include $ENV{OSG_ROOT}/include ~/Library/Frameworks /Library/Frameworks /usr/local/include /usr/include /sw/include # Fink /opt/local/include # DarwinPorts /opt/csw/include # Blastwave /opt/include /usr/freeware/include PATH_SUFFIXES ffmpeg DOC "Location of FFMPEG Headers" ) # if ffmpeg headers are seperated to each of libavformat, libavcodec etc.. IF( NOT FFMPEG_INCLUDE_DIR ) FIND_PATH(FFMPEG_INCLUDE_DIR libavformat/avformat.h PATHS $ENV{FFMPEG_DIR}/include $ENV{OSGDIR}/include $ENV{OSG_ROOT}/include ~/Library/Frameworks /Library/Frameworks /usr/local/include /usr/include /sw/include # Fink /opt/local/include # DarwinPorts /opt/csw/include # Blastwave /opt/include /usr/freeware/include PATH_SUFFIXES ffmpeg DOC "Location of FFMPEG Headers" ) ENDIF( NOT FFMPEG_INCLUDE_DIR ) # we want the -I include line to use the parent directory of ffmpeg as # ffmpeg uses relative includes such as or get_filename_component(FFMPEG_INCLUDE_DIR ${FFMPEG_INCLUDE_DIR} ABSOLUTE) FIND_LIBRARY(FFMPEG_avformat_LIBRARY avformat /usr/local/lib /usr/lib ) FIND_LIBRARY(FFMPEG_avcodec_LIBRARY avcodec /usr/local/lib /usr/lib ) FIND_LIBRARY(FFMPEG_avutil_LIBRARY avutil /usr/local/lib /usr/lib ) FIND_LIBRARY(FFMPEG_vorbis_LIBRARY vorbis /usr/local/lib /usr/lib ) FIND_LIBRARY(FFMPEG_dc1394_LIBRARY dc1394_control /usr/local/lib /usr/lib ) FIND_LIBRARY(FFMPEG_vorbisenc_LIBRARY vorbisenc /usr/local/lib /usr/lib ) FIND_LIBRARY(FFMPEG_theora_LIBRARY theora /usr/local/lib /usr/lib ) FIND_LIBRARY(FFMPEG_dts_LIBRARY dts /usr/local/lib /usr/lib ) FIND_LIBRARY(FFMPEG_gsm_LIBRARY gsm /usr/local/lib /usr/lib ) FIND_LIBRARY(FFMPEG_swscale_LIBRARY swscale /usr/local/lib /usr/lib ) FIND_LIBRARY(FFMPEG_z_LIBRARY z /usr/local/lib /usr/lib ) SET(FFMPEG_LIBRARIES) IF(FFMPEG_INCLUDE_DIR) IF(FFMPEG_avformat_LIBRARY) IF(FFMPEG_avcodec_LIBRARY) IF(FFMPEG_avutil_LIBRARY) SET( FFMPEG_FOUND "YES" ) SET( FFMPEG_BASIC_LIBRARIES ${FFMPEG_avcodec_LIBRARY} ${FFMPEG_avformat_LIBRARY} ${FFMPEG_avutil_LIBRARY} ) # swscale is always a part of newer ffmpeg distros IF(FFMPEG_swscale_LIBRARY) LIST(APPEND FFMPEG_BASIC_LIBRARIES ${FFMPEG_swscale_LIBRARY}) ENDIF(FFMPEG_swscale_LIBRARY) SET(FFMPEG_LIBRARIES ${FFMPEG_BASIC_LIBRARIES}) IF(FFMPEG_vorbis_LIBRARY) LIST(APPEND FFMPEG_LIBRARIES ${FFMPEG_vorbis_LIBRARY}) ENDIF(FFMPEG_vorbis_LIBRARY) IF(FFMPEG_dc1394_LIBRARY) LIST(APPEND FFMPEG_LIBRARIES ${FFMPEG_dc1394_LIBRARY}) ENDIF(FFMPEG_dc1394_LIBRARY) IF(FFMPEG_vorbisenc_LIBRARY) LIST(APPEND FFMPEG_LIBRARIES ${FFMPEG_vorbisenc_LIBRARY}) ENDIF(FFMPEG_vorbisenc_LIBRARY) IF(FFMPEG_theora_LIBRARY) LIST(APPEND FFMPEG_LIBRARIES ${FFMPEG_theora_LIBRARY}) ENDIF(FFMPEG_theora_LIBRARY) IF(FFMPEG_dts_LIBRARY) LIST(APPEND FFMPEG_LIBRARIES ${FFMPEG_dts_LIBRARY}) ENDIF(FFMPEG_dts_LIBRARY) IF(FFMPEG_gsm_LIBRARY) LIST(APPEND FFMPEG_LIBRARIES ${FFMPEG_gsm_LIBRARY}) ENDIF(FFMPEG_gsm_LIBRARY) IF(FFMPEG_z_LIBRARY) LIST(APPEND FFMPEG_LIBRARIES ${FFMPEG_z_LIBRARY}) ENDIF(FFMPEG_z_LIBRARY) SET(FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} CACHE INTERNAL "All presently found FFMPEG libraries.") ENDIF(FFMPEG_avutil_LIBRARY) ENDIF(FFMPEG_avcodec_LIBRARY) ENDIF(FFMPEG_avformat_LIBRARY) ENDIF(FFMPEG_INCLUDE_DIR) MARK_AS_ADVANCED( FFMPEG_INCLUDE_DIR FFMPEG_avformat_LIBRARY FFMPEG_avcodec_LIBRARY FFMPEG_avutil_LIBRARY FFMPEG_vorbis_LIBRARY FFMPEG_dc1394_LIBRARY FFMPEG_vorbisenc_LIBRARY FFMPEG_theora_LIBRARY FFMPEG_dts_LIBRARY FFMPEG_gsm_LIBRARY FFMPEG_swscale_LIBRARY FFMPEG_z_LIBRARY )