#-------------------------------------------------------------------------------
# Information
#-------------------------------------------------------------------------------

set(name ffmpeg)

set(pkg ffmpeg-0.5)

#-------------------------------------------------------------------------------
# Output Files
#-------------------------------------------------------------------------------

# Libraries.

set(
  lib
  ${djv_lib_prefix}avcodec${djv_lib_suffix}
  ${djv_lib_prefix}avcodec${djv_lib_suffix}.52
  ${djv_lib_prefix}avcodec${djv_lib_suffix}.52.20.0
  ${djv_lib_prefix}avdevice${djv_lib_suffix}
  ${djv_lib_prefix}avdevice${djv_lib_suffix}.52
  ${djv_lib_prefix}avdevice${djv_lib_suffix}.52.1.0
  ${djv_lib_prefix}avformat${djv_lib_suffix}
  ${djv_lib_prefix}avformat${djv_lib_suffix}.52
  ${djv_lib_prefix}avformat${djv_lib_suffix}.52.31.0
  ${djv_lib_prefix}avutil${djv_lib_suffix}
  ${djv_lib_prefix}avutil${djv_lib_suffix}.49
  ${djv_lib_prefix}avutil${djv_lib_suffix}.49.15.0
)

#-------------------------------------------------------------------------------
# Build Rules
#-------------------------------------------------------------------------------

if (djv_build_third_party)

  if (UNIX)
  
    set(src_dir ${CMAKE_CURRENT_SOURCE_DIR})
    set(bin_dir ${CMAKE_CURRENT_BINARY_DIR})
    set(out_dir ${djv_build_dir})

    # Copy source code to the build directory.
    
    set(
      djv_copy_cmd
      cd ${src_dir} && tar cvf ${bin_dir}/tmp.tar ${pkg}
      &&
      cd ${bin_dir} && tar xvf tmp.tar && rm tmp.tar
    )

    # Configure, make, and make install.

    set(
      djv_make_cmd
      cd ${pkg}
      &&
      export LD_LIBRARY_PATH=${out_dir}/lib
      &&
      export PKG_CONFIG_PATH=${out_dir}/lib/pkgconfig
      &&
      ./configure
        --prefix=${out_dir}
        --enable-shared
        --disable-static
        --disable-devices
        --extra-cflags=-I${out_dir}/include
        --extra-ldflags=-L${out_dir}/lib
      &&
      make
      &&
      make install
    )

    add_custom_command(
      OUTPUT ${lib}
      COMMAND ${djv_copy_cmd}
      COMMAND ${djv_make_cmd}
    )
    
  endif (UNIX)

endif (djv_build_third_party)

add_custom_target(
  ${name} ALL
  DEPENDS ${lib}
)

add_dependencies(${name} libtiff libpng libjpeg zlib)

install(
  FILES ${lib}
  DESTINATION ${djv_lib_subdir}
)

if (APPLE)
  DJV_OSX_INSTALL_LIB(avcodec.52.20.0)
  DJV_OSX_INSTALL_LIB(avdevice.52.1.0)
  DJV_OSX_INSTALL_LIB(avformat.52.31.0)
  DJV_OSX_INSTALL_LIB(avutil.49.15.0)
endif (APPLE)
