diff options
Diffstat (limited to 'CMakeScripts/HelperFunctions.cmake')
| -rw-r--r-- | CMakeScripts/HelperFunctions.cmake | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/CMakeScripts/HelperFunctions.cmake b/CMakeScripts/HelperFunctions.cmake index 0e6fff51a..f4ed255d5 100644 --- a/CMakeScripts/HelperFunctions.cmake +++ b/CMakeScripts/HelperFunctions.cmake @@ -12,8 +12,23 @@ function(pkg_check_variable _pkg _name) set(_output_name "${_pkg_upper}_${_name_upper}") execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=${_name} ${_pkg} - OUTPUT_VARIABLE _pkg_result - OUTPUT_STRIP_TRAILING_WHITESPACE) + OUTPUT_VARIABLE _pkg_result + OUTPUT_STRIP_TRAILING_WHITESPACE) 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() |
