# Distributed under the OSI-approved MIT License.  See accompanying
# file LICENSE or https://github.com/Crascit/DownloadProject for details.

cmake_minimum_required(VERSION 2.8.2)

project(${DL_ARGS_PROJ}-download NONE)

include(ExternalProject)
ExternalProject_Add(${DL_ARGS_PROJ}-download
                    ${DL_ARGS_UNPARSED_ARGUMENTS}
                    SOURCE_DIR          "${DL_ARGS_SOURCE_DIR}"
                    BUILD_IN_SOURCE true
                    CONFIGURE_COMMAND 	"./autogen.sh"
  			 			COMMAND ./configure --prefix=${DL_ARGS_BINARY_DIR} 
  						"CFLAGS=-fPIC"
  						"CXXFLAGS=${CMAKE_CXX_FLAGS} -fPIC"
				    UPDATE_COMMAND ""

)
