Don't ship with broken languages (#4940)
authorest31 <est31@users.noreply.github.com>
Wed, 21 Dec 2016 13:15:48 +0000 (14:15 +0100)
committerGitHub <noreply@github.com>
Wed, 21 Dec 2016 13:15:48 +0000 (14:15 +0100)
src/CMakeLists.txt

index d43e4133f87ee974fb68246da938a646e89d7c33..3aa645df9f16aa173e6489dcacfb45c5f4bfe13e 100644 (file)
@@ -689,6 +689,28 @@ if(BUILD_SERVER)
        endif()
 endif(BUILD_SERVER)
 
+# Blacklisted locales that don't work.
+# see issue #4638
+set(GETTEXT_BLACKLISTED_LOCALES
+       be
+       he
+       ko
+       ky
+       zh_CN
+       zh_TW
+)
+
+option(APPLY_LOCALE_BLACKLIST "Use a blacklist to avoid broken locales" TRUE)
+
+if (GETTEXT_FOUND AND APPLY_LOCALE_BLACKLIST)
+       set(GETTEXT_USED_LOCALES "")
+       foreach(LOCALE ${GETTEXT_AVAILABLE_LOCALES})
+               if (NOT ";${GETTEXT_BLACKLISTED_LOCALES};" MATCHES ";${LOCALE};")
+                       list(APPEND GETTEXT_USED_LOCALES ${LOCALE})
+               endif()
+       endforeach()
+       message(STATUS "Locale blacklist applied; Locales used: ${GETTEXT_USED_LOCALES}")
+endif()
 
 # Set some optimizations and tweaks
 
@@ -807,7 +829,7 @@ if(BUILD_CLIENT)
        endif()
 
        if(USE_GETTEXT)
-               foreach(LOCALE ${GETTEXT_AVAILABLE_LOCALES})
+               foreach(LOCALE ${GETTEXT_USED_LOCALES})
                        set_mo_paths(MO_BUILD_PATH MO_DEST_PATH ${LOCALE})
                        set(MO_BUILD_PATH "${MO_BUILD_PATH}/${PROJECT_NAME}.mo")
                        install(FILES ${MO_BUILD_PATH} DESTINATION ${MO_DEST_PATH})
@@ -836,7 +858,7 @@ endif()
 if (USE_GETTEXT)
        set(MO_FILES)
 
-       foreach(LOCALE ${GETTEXT_AVAILABLE_LOCALES})
+       foreach(LOCALE ${GETTEXT_USED_LOCALES})
                set(PO_FILE_PATH "${GETTEXT_PO_PATH}/${LOCALE}/${PROJECT_NAME}.po")
                set_mo_paths(MO_BUILD_PATH MO_DEST_PATH ${LOCALE})
                set(MO_FILE_PATH "${MO_BUILD_PATH}/${PROJECT_NAME}.mo")