5
macro(CreateLocale locale_name)
7
file (GLOB_RECURSE pofiles *.po)
8
foreach (pofile ${pofiles})
9
get_filename_component(pofile_name ${pofile} NAME_WE)
10
string(REPLACE "${CMAKE_CURRENT_SOURCE_DIR}/" "" pofile_subpath ${pofile})
11
get_filename_component(pofile_path ${pofile} PATH)
12
string(REPLACE "${CMAKE_CURRENT_SOURCE_DIR}/" "" template_name ${pofile_path})
13
if (${pofile_name} STREQUAL ${locale_name})
15
OUTPUT ${CMAKE_BINARY_DIR}/locale/${locale_name}/LC_MESSAGES/${template_name}.mo
16
COMMAND cmake -E make_directory ${CMAKE_BINARY_DIR}/locale/${locale_name}/LC_MESSAGES
17
COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} -q --no-wrap ${pofile} ${CMAKE_CURRENT_SOURCE_DIR}/${template_name}/${template_name}.pot -o ${CMAKE_CURRENT_BINARY_DIR}/${locale_name}_${template_name}.tmp.po
18
COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${CMAKE_BINARY_DIR}/locale/${locale_name}/LC_MESSAGES/${template_name}.mo ${CMAKE_CURRENT_BINARY_DIR}/${locale_name}_${template_name}.tmp.po
19
COMMAND cmake -E remove ${CMAKE_CURRENT_BINARY_DIR}/${locale_name}_${template_name}.tmp.po
21
COMMENT "Generating translations for locale ${locale_name} category ${template_name}"
23
list(APPEND commands ${CMAKE_BINARY_DIR}/locale/${locale_name}/LC_MESSAGES/${template_name}.mo)
24
endif (${pofile_name} STREQUAL ${locale_name})
25
endforeach (pofile ${pofiles})
27
translang_${locale_name}
32
COMMAND cmake -Dlang=${locale_name} -Dpobasedir=${CMAKE_CURRENT_SOURCE_DIR} -Dlocalebasedir=${CMAKE_BINARY_DIR}/locale -P ${CMAKE_CURRENT_SOURCE_DIR}/CheckLocale.cmake
33
COMMENT "Checking translations for locale ${locale_name}"
35
add_dependencies(lang lang_${locale_name})
36
add_dependencies(lang_${locale_name} translang_${locale_name})
37
endmacro(CreateLocale locale_name)
39
set (languages_found "")
40
file (GLOB_RECURSE pofiles *.po)
41
foreach(pofile ${pofiles})
42
get_filename_component(pofile ${pofile} NAME_WE)
43
list(APPEND languages_found ${pofile})
44
endforeach(pofile ${pofiles})
46
list(SORT languages_found)
47
list(REMOVE_DUPLICATES languages_found)
49
foreach(language ${languages_found})
50
CreateLocale(${language})
51
endforeach(language ${languages_found})