[runtimes] Generalize how we reorder projects
This way, we could use it for LLVM_ENABLE_PROJECTS too if desired. Differential Revision: https://reviews.llvm.org/D125121
This commit is contained in:
25
cmake/Modules/SortSubset.cmake
Normal file
25
cmake/Modules/SortSubset.cmake
Normal file
@@ -0,0 +1,25 @@
|
||||
# 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()
|
||||
Reference in New Issue
Block a user