+#
+# ExternalSource_Download(VAR ...)
+#
function(ExternalSource_Download PREFIX URL)
+ include(CMakeParseArguments)
+
+ cmake_parse_arguments(ARG "" "DIRNAME" "" ${ARGN})
+
+ # Configure DIRNAME
+ if(NOT ARG_DIRNAME)
+ # Use PREFIX as DIRNAME (for backward compatibility)
+ set(DIRNAME ${PREFIX})
+ else()
+ set(DIRNAME ${ARG_DIRNAME})
+ endif(NOT ARG_DIRNAME)
+
get_filename_component(FILENAME ${URL} NAME)
set(CACHE_DIR "${CMAKE_SOURCE_DIR}/externals")
- set(OUT_DIR "${CACHE_DIR}/${PREFIX}")
- set(TMP_DIR "${CACHE_DIR}/${PREFIX}-tmp")
+ set(OUT_DIR "${CACHE_DIR}/${DIRNAME}")
+ set(TMP_DIR "${CACHE_DIR}/${DIRNAME}-tmp")
- set(DOWNLOAD_PATH "${CACHE_DIR}/${PREFIX}-${FILENAME}")
- set(STAMP_PATH "${CACHE_DIR}/${PREFIX}.stamp")
+ set(DOWNLOAD_PATH "${CACHE_DIR}/${DIRNAME}-${FILENAME}")
+ set(STAMP_PATH "${CACHE_DIR}/${DIRNAME}.stamp")
if(NOT EXISTS "${CACHE_DIR}")
file(MAKE_DIRECTORY "${CACHE_DIR}")