2
find_program (MSGFMT_EXECUTABLE msgfmt)
4
#on cree une nouvelle cible i18n liée à la cible all.
5
add_custom_target (i18n ALL COMMENT “Building i18n messages.”)
7
# on liste tous les .po
8
file (GLOB PO_FILES *.po)
10
# on parcours cette liste.
11
foreach (PO_INPUT ${PO_FILES})
12
get_filename_component (PO_INPUT_BASE ${PO_INPUT} NAME_WE) # NAME Without Extension.
13
if (NOT "${PO_INPUT_BASE}" STREQUAL "en_GB") # en_GB has been created only for LaunchPad translation tool
14
set (MO_OUTPUT ${PO_INPUT_BASE}.gmo) # le nom du fichier en sortie.
15
message (STATUS " Building ${MO_OUTPUT}...")
16
add_custom_command (TARGET i18n COMMAND ${MSGFMT_EXECUTABLE} -o ${CMAKE_CURRENT_BINARY_DIR}/${MO_OUTPUT} ${PO_INPUT}) # appel a msgfmt.
17
install (FILES ${CMAKE_CURRENT_BINARY_DIR}/${MO_OUTPUT} DESTINATION ${localedir}/${PO_INPUT_BASE}/LC_MESSAGES RENAME ${GETTEXT_PACKAGE}.mo) # installation du fichier dans le bon repertoire.