summaryrefslogtreecommitdiffstats
path: root/CMakeScripts/HelperFunctions.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeScripts/HelperFunctions.cmake')
-rw-r--r--CMakeScripts/HelperFunctions.cmake15
1 files changed, 15 insertions, 0 deletions
diff --git a/CMakeScripts/HelperFunctions.cmake b/CMakeScripts/HelperFunctions.cmake
index 0e6fff51a..85cbe7157 100644
--- a/CMakeScripts/HelperFunctions.cmake
+++ b/CMakeScripts/HelperFunctions.cmake
@@ -17,3 +17,18 @@ function(pkg_check_variable _pkg _name)
set("${_output_name}" "${_pkg_result}" CACHE STRING "pkg-config variable ${_name} of ${_pkg}")
endfunction()
+
+# Join a cmake list of strings with a given glue character/string
+# E.g. join(MY_RESULT, ",", "1; 2; 3;") returns "1, 2, 3"
+function(join OUTPUT GLUE)
+ set(_TMP_RESULT "")
+ set(_GLUE "") # effective glue is empty at the beginning
+ foreach(arg ${ARGN})
+ # Skip empty lines
+ if(NOT arg STREQUAL "\n")
+ set(_TMP_RESULT "${_TMP_RESULT}${_GLUE}${arg}")
+ set(_GLUE "${GLUE}")
+ endif()
+ endforeach()
+ set(${OUTPUT} "${_TMP_RESULT}" PARENT_SCOPE)
+endfunction()