summaryrefslogtreecommitdiff
path: root/cmake/mbgl.cmake
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2018-12-17 15:24:11 +0100
committerKonstantin Käfer <mail@kkaefer.com>2019-01-09 10:26:53 +0100
commit6f60ccf08e4878d0688ddaefd906290a2998a148 (patch)
tree6e268040cfc1ea72fa577441398ecd790553df24 /cmake/mbgl.cmake
parent9acdd75d04f335313a6c491599b5c7559d6458c7 (diff)
downloadqtlocation-mapboxgl-6f60ccf08e4878d0688ddaefd906290a2998a148.tar.gz
[build] generate header maps instead of -files.txt
Diffstat (limited to 'cmake/mbgl.cmake')
-rw-r--r--cmake/mbgl.cmake14
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)