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

set(name libpng)

set(pkg libpng-1.2.14)

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

if (WIN32)

  # Libraries.
  
  set(
    lib
    ${djv_lib_prefix}png${djv_lib_suffix}
  )

elseif (APPLE)

  # Libraries.
  
  set(
    lib
    ${djv_lib_prefix}png${djv_lib_suffix}
    ${djv_lib_prefix}png.3${djv_lib_suffix}
    ${djv_lib_prefix}png.3.14.0${djv_lib_suffix}
  )

elseif (UNIX)

  # Libraries.
  
  set(
    lib
    ${djv_lib_prefix}png${djv_lib_suffix}
    ${djv_lib_prefix}png${djv_lib_suffix}.3
    ${djv_lib_prefix}png${djv_lib_suffix}.3.14.0
    ${djv_lib_prefix}png12${djv_lib_suffix}
    ${djv_lib_prefix}png12${djv_lib_suffix}.0
    ${djv_lib_prefix}png12${djv_lib_suffix}.0.14.0
  )

endif (WIN32)

#-------------------------------------------------------------------------------
# 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
        --enable-shared
        --disable-static
        --prefix=${out_dir}
        CPPFLAGS=-I${out_dir}/include
        LDFLAGS=-L${out_dir}/lib
      &&
      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} zlib)

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

if (APPLE)
  DJV_OSX_INSTALL_LIB(png.3.14.0)
endif (APPLE)
