Take DIRNAME as an optional argument (#2709)
author박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 <jh1302.park@samsung.com>
Tue, 18 Dec 2018 07:49:13 +0000 (16:49 +0900)
committerGitHub Enterprise <noreply-CODE@samsung.com>
Tue, 18 Dec 2018 07:49:13 +0000 (16:49 +0900)
This commit refines the implementation of ExternalSourceDownload; Now,
users can pass DIRNAME as an optional argument.

Signed-off-by: Jonghyun Park <jh1302.park@samsung.com>
cmake/modules/ExternalSourceTools.cmake

index 04ef64f..d75ce2e 100644 (file)
@@ -1,12 +1,27 @@
+#
+# 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}")