cmake_minimum_required(VERSION 2.8.2)
project(live-download NONE)

set(live_file "${CMAKE_SOURCE_DIR}/third-party/live555/live555-latest.tar.gz")

function(remote_source url)
    if (EXISTS ${live_file})
        message(STATUS "LIVE555: File exists, delete it to download the latest version (${live_file})")
    else()
        message(STATUS "LIVE555: Downloading ${url}, this could take up to 3 min ")
	message(STATUS "LIVE555:                                                 ")
	message(STATUS "LIVE555: WARNING!WARNING!WARNING!WARNING!WARNING!WARNING ")
	message(STATUS "LIVE555:                                                 ")
	message(STATUS "LIVE555:    This version might break the existing API    ")
	message(STATUS "LIVE555:    !! Be sure to know what you are doing !!     ")
	message(STATUS "LIVE555:                                                 ")
	message(STATUS "LIVE555: WARNING!WARNING!WARNING!WARNING!WARNING!WARNING ")
	message(STATUS "LIVE555:                                                 ")

        file(DOWNLOAD ${url} ${live_file} LOG log STATUS status TIMEOUT 180 SHOW_PROGRESS)
        list(GET status 0 error_code)
        if (NOT ${error_code} EQUAL 0)
            message(FATAL_ERROR "Download LIVE555 (${status}) - ${url}")
        else()
            message(STATUS "LIVE555: Downloaded (${status}) from ${url} to ${live_file}")
        endif()
    endif()

    message(STATUS "LIVE555: Unpacking source")
    execute_process(
        COMMAND
        ${CMAKE_COMMAND} -E
        tar xzf "${live_file}"
        WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/third-party
        RESULT_VARIABLE tar_res
        OUTPUT_VARIABLE tar_out
    )
    message(STATUS "LIVE555: Source unpacked")
endfunction()

if(BUILD_NETWORK_DEVICE)
    remote_source( "http://www.live555.com/liveMedia/public/live555-latest.tar.gz")
endif()


