diff --git a/cmake/utils.cmake b/cmake/utils.cmake
index 2717293..2fd6dbb 100644
--- a/cmake/utils.cmake
+++ b/cmake/utils.cmake
@@ -54,3 +54,34 @@
     message(STATUS "${footer}")
 endfunction()
 
+# Collect arguments via command line.
+# cmd_line: the output argument to collect the arguments via command line
+#
+# Those command line arguments will be passed to ExternalProject_Add().
+# Those arguments shall not be populated by the settings parsed inside each ExternalProject_Add()
+function(collect_build_cmd_args cmd_line)
+
+    get_cmake_property(CACHE_ARGS CACHE_VARIABLES)
+    foreach(CACHE_ARG ${CACHE_ARGS})
+        get_property(ARG_HELPSTRING CACHE "${CACHE_ARG}" PROPERTY HELPSTRING)
+        if("${ARG_HELPSTRING}" MATCHES "variable specified on the command line")
+            get_property(CACHE_ARG_TYPE CACHE ${CACHE_ARG} PROPERTY TYPE)
+            set(ARG_VAL ${${CACHE_ARG}})
+
+            # CMake automatically converts relative paths passed via command line into absolute
+            # ones. Since external projects have different base directories compared to root
+            # directory, relative paths will be incorrectly converted inside external projects.
+            # Enforce all the relative paths into abosulte paths before collecting them in the
+            # build command argument list.
+            if(NOT ${ARG_VAL} STREQUAL "")
+                if(IS_DIRECTORY ${ARG_VAL} AND NOT IS_ABSOLUTE ${ARG_VAL})
+                    get_filename_component(ABS_PATH ${ARG_VAL} ABSOLUTE)
+                    set(ARG_VAL ${ABS_PATH})
+                endif()
+            endif()
+            list(APPEND TEMP_CMD_LINE "-D${CACHE_ARG}:${CACHE_ARG_TYPE}=${ARG_VAL}")
+        endif()
+    endforeach()
+
+    set(${cmd_line} ${TEMP_CMD_LINE} PARENT_SCOPE)
+endfunction()
