|  | # Sort a subset of a list according to the ordering in the full list. | 
|  | # | 
|  | # Given a list and a subset of that list, this function sorts the subset | 
|  | # according to the order in the full list, and returns that in the given | 
|  | # output variable. | 
|  | # | 
|  | # full_list: | 
|  | #   The list containing the desired order of elements in the sub-list. | 
|  | # | 
|  | # sub_list: | 
|  | #   A subset of the elements in `full_list`. Those elements will be sorted | 
|  | #   according to the order in `full_list`. | 
|  | # | 
|  | # out_var: | 
|  | #   A variable to store the resulting sorted sub-list in. | 
|  | function(sort_subset full_list sub_list out_var) | 
|  | set(result "${full_list}") | 
|  | foreach(project IN LISTS full_list) | 
|  | if (NOT project IN_LIST sub_list) | 
|  | list(REMOVE_ITEM result ${project}) | 
|  | endif() | 
|  | endforeach() | 
|  |  | 
|  | set(${out_var} "${result}" PARENT_SCOPE) | 
|  | endfunction() |