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

set(name libquicktime)

set(pkg libquicktime-1.1.3)

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

# Libraries.

set(
  lib
  ${djv_lib_prefix}quicktime${djv_lib_suffix}
  ${djv_lib_prefix}quicktime${djv_lib_suffix}.0
  ${djv_lib_prefix}quicktime${djv_lib_suffix}.0.0.0
)

# Plugins.

set(
  plugin
  ${djv_build_dir}/lib/libquicktime/lqt_audiocodec${djv_lib_suffix}
  ${djv_build_dir}/lib/libquicktime/lqt_ffmpeg${djv_lib_suffix}
  ${djv_build_dir}/lib/libquicktime/lqt_mjpeg${djv_lib_suffix}
  ${djv_build_dir}/lib/libquicktime/lqt_rtjpeg${djv_lib_suffix}
  ${djv_build_dir}/lib/libquicktime/lqt_videocodec${djv_lib_suffix}
)

#-------------------------------------------------------------------------------
# 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 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
    )

    # Update autoconf files.
  
    if (djv_autoconf)

      set(
        djv_autoconf_cmd
        ${cp} ${djv_autoconf} ${pkg}
      )

    endif (djv_autoconf)

    # 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
        --without-cpuflags
        --without-x
        --without-gtk
        --without-doxygen
        CPPFLAGS=-I${out_dir}/include
        LDFLAGS=-L${out_dir}/lib
      &&
      ${sed}
        s=${out_dir}=${CMAKE_INSTALL_PREFIX}=g
        config.h > config.h.tmp
      &&
      ${mv} config.h.tmp config.h
      &&
      make
      &&
      make install
    )

    add_custom_command(
      OUTPUT ${lib}
      COMMAND ${djv_copy_cmd}
      COMMAND ${djv_autoconf_cmd}
      COMMAND ${djv_make_cmd}
    )

  endif (UNIX)

endif (djv_build_third_party)

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

add_dependencies(${name} ffmpeg)

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

install(
  FILES ${plugin}
  DESTINATION ${djv_lib_subdir}/libquicktime
)

if (APPLE)
  DJV_OSX_INSTALL_LIB(quicktime.0.0.0)
endif (APPLE)
