|
@@ -739,16 +739,51 @@ IF ("${COMMONSETUP_DONE}" STREQUAL "")
|
|
|
endif()
|
|
|
ENDMACRO()
|
|
|
|
|
|
+ function(LIST_TO_STRING separator outvar)
|
|
|
+ set ( tmp_str "" )
|
|
|
+ list (LENGTH ARGN list_length)
|
|
|
+ if ( ${list_length} LESS 2 )
|
|
|
+ set ( tmp_str "${ARGN}" )
|
|
|
+ else()
|
|
|
+ math(EXPR last_index "${list_length} - 1")
|
|
|
+
|
|
|
+ foreach( index RANGE ${last_index} )
|
|
|
+ if ( ${index} GREATER 0 )
|
|
|
+ list( GET ARGN ${index} element )
|
|
|
+ set( tmp_str "${tmp_str}${separator}${element}")
|
|
|
+ else()
|
|
|
+ list( GET ARGN 0 element )
|
|
|
+ set( tmp_str "${element}")
|
|
|
+ endif()
|
|
|
+ endforeach()
|
|
|
+ endif()
|
|
|
+ set ( ${outvar} "${tmp_str}" PARENT_SCOPE )
|
|
|
+ endfunction()
|
|
|
+
|
|
|
+ function(STRING_TO_LIST separator outvar stringvar)
|
|
|
+ set( tmp_list "" )
|
|
|
+ string(REPLACE "${separator}" ";" tmp_list ${stringvar})
|
|
|
+ string(STRIP "${tmp_list}" tmp_list)
|
|
|
+ set( ${outvar} "${tmp_list}" PARENT_SCOPE)
|
|
|
+ endfunction()
|
|
|
+
|
|
|
###########################################################################
|
|
|
###
|
|
|
## The following sets the dependency list for a package
|
|
|
###
|
|
|
- MACRO(SET_DEPENDENCIES cpackvar dependencies)
|
|
|
- if ( ${cpackvar} )
|
|
|
- set ( ${cpackvar} "${dependencies}, ${${cpackvar}}" CACHE STRING "" FORCE )
|
|
|
- else()
|
|
|
- set ( ${cpackvar} "${dependencies}" CACHE STRING "" )
|
|
|
+ ###########################################################################
|
|
|
+ function(SET_DEPENDENCIES cpackvar)
|
|
|
+ set(_tmp "")
|
|
|
+ if(${cpackvar})
|
|
|
+ STRING_TO_LIST(", " _tmp ${${cpackvar}})
|
|
|
endif()
|
|
|
- ENDMACRO()
|
|
|
+ foreach(element ${ARGN})
|
|
|
+ list(APPEND _tmp ${element})
|
|
|
+ endforeach()
|
|
|
+ list(REMOVE_DUPLICATES _tmp)
|
|
|
+ LIST_TO_STRING(", " _tmp "${_tmp}")
|
|
|
+ set(${cpackvar} "${_tmp}" CACHE STRING "" FORCE)
|
|
|
+ message(STATUS "Updated ${cpackvar} to ${${cpackvar}}")
|
|
|
+ endfunction()
|
|
|
|
|
|
endif ("${COMMONSETUP_DONE}" STREQUAL "")
|