summaryrefslogtreecommitdiff
path: root/cmake/mbgl.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/mbgl.cmake')
-rw-r--r--cmake/mbgl.cmake18
1 files changed, 18 insertions, 0 deletions
diff --git a/cmake/mbgl.cmake b/cmake/mbgl.cmake
index 9dd29375ef..55a36079a7 100644
--- a/cmake/mbgl.cmake
+++ b/cmake/mbgl.cmake
@@ -119,6 +119,24 @@ function(create_source_groups target)
endforeach()
endfunction()
+function(load_sources_list VAR FILELIST)
+ set(_FILES)
+ file(STRINGS "${FILELIST}" _LINES)
+ foreach(_LINE IN LISTS _LINES)
+ string(STRIP "${_LINE}" _LINE)
+ string(REGEX MATCH "^([^;#]+)" _FILE "${_LINE}")
+ if (_FILE)
+ list(APPEND _FILES "${_FILE}")
+ endif()
+ endforeach()
+ set(${VAR} "${_FILES}" PARENT_SCOPE)
+endfunction()
+
+function(target_sources_from_file TARGET TYPE FILELIST)
+ load_sources_list(_FILELIST "${FILELIST}")
+ target_sources(${TARGET} ${TYPE} "${_FILELIST}")
+endfunction()
+
# Creates a library target for a vendored dependency
function(add_vendor_target NAME TYPE)
set(INCLUDE_TYPE "INTERFACE")