summaryrefslogtreecommitdiff
path: root/platform/linux
diff options
context:
space:
mode:
authorThiago Marcos P. Santos <tmpsantos@gmail.com>2020-02-13 19:18:47 +0200
committerThiago Marcos P. Santos <tmpsantos@gmail.com>2020-03-05 01:58:34 +0200
commitdc510e44c085e87233b628a995b6957ad9c0ab9b (patch)
tree745e20e4c2b9291aa7a6aad8c4391920782cdbe3 /platform/linux
parentfb0c7c93a0f82cae603edc29e7e9a56024ed2b39 (diff)
downloadqtlocation-mapboxgl-dc510e44c085e87233b628a995b6957ad9c0ab9b.tar.gz
[default] Build a no-op number formatter for old ICUs
This has been causing too many build problems and it is a major source of complains because of different ICU interfaces.
Diffstat (limited to 'platform/linux')
-rw-r--r--platform/linux/linux.cmake23
1 files changed, 19 insertions, 4 deletions
diff --git a/platform/linux/linux.cmake b/platform/linux/linux.cmake
index bf89601a57..7412b09f8a 100644
--- a/platform/linux/linux.cmake
+++ b/platform/linux/linux.cmake
@@ -1,6 +1,6 @@
find_package(CURL REQUIRED)
-find_package(ICU REQUIRED i18n)
-find_package(ICU REQUIRED uc)
+find_package(ICU OPTIONAL_COMPONENTS i18n)
+find_package(ICU OPTIONAL_COMPONENTS uc)
find_package(JPEG REQUIRED)
find_package(OpenGL REQUIRED GLX)
find_package(PNG REQUIRED)
@@ -65,6 +65,20 @@ target_include_directories(
include(${PROJECT_SOURCE_DIR}/vendor/nunicode.cmake)
include(${PROJECT_SOURCE_DIR}/vendor/sqlite.cmake)
+if(NOT ${ICU_FOUND} OR "${ICU_VERSION}" VERSION_LESS 62.0)
+ message("-- ICU not found or too old, using builtin.")
+
+ set(MBGL_USE_BUILTIN_ICU TRUE)
+ include(${PROJECT_SOURCE_DIR}/vendor/icu.cmake)
+
+ set_source_files_properties(
+ ${PROJECT_SOURCE_DIR}/platform/default/src/mbgl/i18n/number_format.cpp
+ PROPERTIES
+ COMPILE_DEFINITIONS
+ MBGL_USE_BUILTIN_ICU
+ )
+endif()
+
target_link_libraries(
mbgl-core
PRIVATE
@@ -72,8 +86,9 @@ target_link_libraries(
${JPEG_LIBRARIES}
${LIBUV_LIBRARIES}
${X11_LIBRARIES}
- ICU::i18n
- ICU::uc
+ $<$<NOT:$<BOOL:${MBGL_USE_BUILTIN_ICU}>>:ICU::i18n>
+ $<$<NOT:$<BOOL:${MBGL_USE_BUILTIN_ICU}>>:ICU::uc>
+ $<$<BOOL:${MBGL_USE_BUILTIN_ICU}>:mbgl-vendor-icu>
OpenGL::GLX
PNG::PNG
mbgl-vendor-nunicode