build/CMake: LANGUAGES config option #8203

Signed-off-by: Marty E. Plummer <hanetzer@startmail.com>
This commit is contained in:
Marty E. Plummer 2018-03-28 23:13:09 -05:00 committed by Justin M. Keyes
parent c8fd7ce08b
commit 362346f563
2 changed files with 28 additions and 12 deletions

View File

@ -5,6 +5,10 @@ if(POLICY CMP0059)
cmake_policy(SET CMP0059 OLD) # Needed until cmake 2.8.12. #4389 cmake_policy(SET CMP0059 OLD) # Needed until cmake 2.8.12. #4389
endif() endif()
if(POLICY CMP0057)
cmake_policy(SET CMP0057 NEW)
endif()
# Point CMake at any custom modules we may ship # Point CMake at any custom modules we may ship
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")

View File

@ -2,10 +2,8 @@ find_package(Gettext)
find_program(XGETTEXT_PRG xgettext) find_program(XGETTEXT_PRG xgettext)
find_program(ICONV_PRG iconv) find_program(ICONV_PRG iconv)
if(HAVE_WORKING_LIBINTL AND GETTEXT_FOUND AND XGETTEXT_PRG AND ICONV_PRG) option(LANGUAGES "Localizations to build")
set(ENV{OLD_PO_FILE_INPUT} yes) if(NOT LANGUAGES)
set(ENV{OLD_PO_FILE_OUTPUT} yes)
set(LANGUAGES set(LANGUAGES
af af
ca ca
@ -31,6 +29,12 @@ if(HAVE_WORKING_LIBINTL AND GETTEXT_FOUND AND XGETTEXT_PRG AND ICONV_PRG)
vi vi
zh_CN.UTF-8 zh_CN.UTF-8
zh_TW.UTF-8) zh_TW.UTF-8)
endif()
if(HAVE_WORKING_LIBINTL AND GETTEXT_FOUND AND XGETTEXT_PRG AND ICONV_PRG)
set(ENV{OLD_PO_FILE_INPUT} yes)
set(ENV{OLD_PO_FILE_OUTPUT} yes)
set(NVIM_RELATIVE_SOURCES) set(NVIM_RELATIVE_SOURCES)
foreach(SRC ${NVIM_SOURCES} ${NVIM_HEADERS}) foreach(SRC ${NVIM_SOURCES} ${NVIM_HEADERS})
@ -135,22 +139,30 @@ if(HAVE_WORKING_LIBINTL AND GETTEXT_FOUND AND XGETTEXT_PRG AND ICONV_PRG)
endmacro() endmacro()
# Create some translations from others. # Create some translations from others.
if("ja" IN_LIST LANGUAGES)
BuildPoIconv(ja utf-8 euc-jp) BuildPoIconv(ja utf-8 euc-jp)
BuildMo(ja.euc-jp) BuildMo(ja.euc-jp)
endif()
if("cs" IN_LIST LANGUAGES)
BuildPoIconv(cs ISO-8859-2 cp1250) BuildPoIconv(cs ISO-8859-2 cp1250)
BuildMo(cs.cp1250) BuildMo(cs.cp1250)
endif()
if("sk" IN_LIST LANGUAGES)
BuildPoIconv(sk ISO-8859-2 cp1250) BuildPoIconv(sk ISO-8859-2 cp1250)
BuildMo(sk.cp1250) BuildMo(sk.cp1250)
endif()
add_custom_target(update-po-nb add_custom_target(update-po-nb
COMMAND ${CMAKE_COMMAND} -E copy COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_CURRENT_SOURCE_DIR}/no.po ${CMAKE_CURRENT_SOURCE_DIR}/nb.po ${CMAKE_CURRENT_SOURCE_DIR}/no.po ${CMAKE_CURRENT_SOURCE_DIR}/nb.po
DEPENDS no.po) DEPENDS no.po)
list(APPEND UPDATE_PO_TARGETS update-po-nb) list(APPEND UPDATE_PO_TARGETS update-po-nb)
if("nb" IN_LIST LANGUAGES)
CheckPo(nb) CheckPo(nb)
BuildMo(nb) BuildMo(nb)
endif()
foreach(LANGUAGE ${LANGUAGES}) foreach(LANGUAGE ${LANGUAGES})
set(poFile "${CMAKE_CURRENT_SOURCE_DIR}/${LANGUAGE}.po") set(poFile "${CMAKE_CURRENT_SOURCE_DIR}/${LANGUAGE}.po")