diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2018-12-17 15:24:11 +0100 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2019-01-09 10:26:53 +0100 |
commit | 6f60ccf08e4878d0688ddaefd906290a2998a148 (patch) | |
tree | 6e268040cfc1ea72fa577441398ecd790553df24 /cmake/mbgl.cmake | |
parent | 9acdd75d04f335313a6c491599b5c7559d6458c7 (diff) | |
download | qtlocation-mapboxgl-6f60ccf08e4878d0688ddaefd906290a2998a148.tar.gz |
[build] generate header maps instead of -files.txt
Diffstat (limited to 'cmake/mbgl.cmake')
-rw-r--r-- | cmake/mbgl.cmake | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/cmake/mbgl.cmake b/cmake/mbgl.cmake index 8e6f11c823..96ce393da2 100644 --- a/cmake/mbgl.cmake +++ b/cmake/mbgl.cmake @@ -121,12 +121,14 @@ 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}") + file(READ "${FILELIST}" _LINES) + # Note: this isn't really parsing JSON, but it's good enough for our purposes. + set(_REGEX "(^|\n) *(\"([^\"]+)\" *: *)?\"([^\"]+)\",?(\n|$)") + string(REGEX MATCHALL "${_REGEX}" _MATCHES "${_LINES}") + foreach(_MATCH IN LISTS _MATCHES) + string(REGEX MATCH "${_REGEX}" _FILE "${_MATCH}") + if (_FILE AND NOT CMAKE_MATCH_3 STREQUAL "//") + list(APPEND _FILES "${CMAKE_SOURCE_DIR}/${CMAKE_MATCH_4}") endif() endforeach() set(${VAR} "${_FILES}" PARENT_SCOPE) |