Use list of po files to determine all translation list

This commit is contained in:
craig.p.drummond
2012-09-03 19:04:16 +00:00
committed by craig.p.drummond
parent 2d0539a85d
commit bfda46ed2d
2 changed files with 34 additions and 53 deletions

View File

@@ -376,29 +376,6 @@ if (TAGLIB_FOUND)
endif(FFMPEG_FOUND AND MPG123_FOUND)
endif (TAGLIB_FOUND)
if (NOT CANTATA_TRANSLATIONS)
set(CANTATA_TRANSLATIONS "all")
endif (NOT CANTATA_TRANSLATIONS)
foreach(trans ${CANTATA_TRANSLATIONS})
if (trans STREQUAL "all")
set(CANTATA_CS_TRANSLATION 1)
set(CANTATA_DE_TRANSLATION 1)
set(CANTATA_EN_TRANSLATION 1)
set(CANTATA_ES_TRANSLATION 1)
set(CANTATA_PL_TRANSLATION 1)
elseif (trans STREQUAL "cs")
set(CANTATA_CS_TRANSLATION 1)
elseif (trans STREQUAL "de")
set(CANTATA_DE_TRANSLATION 1)
elseif (trans STREQUAL "en")
set(CANTATA_EN_TRANSLATION 1)
elseif (trans STREQUAL "es")
set(CANTATA_ES_TRANSLATION 1)
elseif (trans STREQUAL "pl")
set(CANTATA_PL_TRANSLATION 1)
endif (trans STREQUAL "all")
endforeach(trans ${CANTATA_TRANSLATIONS})
add_subdirectory(po)
IF( ENABLE_KDE_SUPPORT )

View File

@@ -1,18 +1,18 @@
if (CANTATA_CS_TRANSLATION)
LIST(APPEND CANTATA_LANGUAGES "cs")
endif (CANTATA_CS_TRANSLATION)
if (NOT CANTATA_TRANSLATIONS)
set(CANTATA_TRANSLATIONS "all")
endif (NOT CANTATA_TRANSLATIONS)
if (CANTATA_DE_TRANSLATION)
LIST(APPEND CANTATA_LANGUAGES "de")
endif (CANTATA_DE_TRANSLATION)
if (CANTATA_ES_TRANSLATION)
LIST(APPEND CANTATA_LANGUAGES "es")
endif (CANTATA_ES_TRANSLATION)
if (CANTATA_PL_TRANSLATION)
LIST(APPEND CANTATA_LANGUAGES "pl")
endif (CANTATA_PL_TRANSLATION)
foreach(trans ${CANTATA_TRANSLATIONS})
if (trans STREQUAL "all")
file(GLOB avail_pofiles *.po)
foreach(PO_FILE ${avail_pofiles})
get_filename_component(lang ${PO_FILE} NAME_WE)
list(APPEND CANTATA_LANGUAGES "${lang}")
endforeach(PO_FILE ${avail_pofiles})
else (trans STREQUAL "all")
list(APPEND CANTATA_LANGUAGES "${trans}")
endif (trans STREQUAL "all")
endforeach(trans ${CANTATA_TRANSLATIONS})
IF( ENABLE_KDE_SUPPORT )
find_program(GETTEXT_MSGFMT_EXECUTABLE msgfmt)
@@ -25,11 +25,13 @@ IF( ENABLE_KDE_SUPPORT )
set(catalogname cantata)
add_custom_target(translations ALL)
foreach(_lang ${CANTATA_LANGUAGES})
set(_gmoFile ${CMAKE_CURRENT_BINARY_DIR}/${_lang}.gmo)
add_custom_command(TARGET translations
COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} --check -o ${_gmoFile} ${CMAKE_CURRENT_SOURCE_DIR}/${_lang}.po
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_lang}.po)
install(FILES ${_gmoFile} DESTINATION ${LOCALE_INSTALL_DIR}/${_langCode}/LC_MESSAGES/ RENAME ${catalogname}.mo)
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${_lang}.po)
set(_gmoFile ${CMAKE_CURRENT_BINARY_DIR}/${_lang}.gmo)
add_custom_command(TARGET translations
COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} --check -o ${_gmoFile} ${CMAKE_CURRENT_SOURCE_DIR}/${_lang}.po
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_lang}.po)
install(FILES ${_gmoFile} DESTINATION ${LOCALE_INSTALL_DIR}/${_langCode}/LC_MESSAGES/ RENAME ${catalogname}.mo)
endif (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${_lang}.po)
endforeach(_lang ${CANTATA_LANGUAGES})
endif(NOT GETTEXT_MSGFMT_EXECUTABLE)
else (ENABLE_KDE_SUPPORT)
@@ -44,17 +46,19 @@ else (ENABLE_KDE_SUPPORT)
set(catalogname cantata)
add_custom_target(translations ALL)
foreach(_lang ${CANTATA_LANGUAGES})
set(_poFile ${_lang}.po)
set(_tsFile ${CMAKE_CURRENT_BINARY_DIR}/cantata_${_lang}.ts)
set(_qmFile ${CMAKE_CURRENT_BINARY_DIR}/cantata_${_lang}.qm)
add_custom_command(TARGET translations
COMMAND ${LCONVERT_EXECUTABLE} ARGS ${_poFile} -o ${_tsFile} -of ts
DEPENDS ${_poFile}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
add_custom_command(TARGET translations
COMMAND ${LRELEASE_EXECUTABLE} ARGS ${_tsFile} -qm ${_qmFile}
DEPENDS ${_tsFile})
install(FILES ${_qmFile} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/cantata/translations/)
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${_lang}.po)
set(_poFile ${_lang}.po)
set(_tsFile ${CMAKE_CURRENT_BINARY_DIR}/cantata_${_lang}.ts)
set(_qmFile ${CMAKE_CURRENT_BINARY_DIR}/cantata_${_lang}.qm)
add_custom_command(TARGET translations
COMMAND ${LCONVERT_EXECUTABLE} ARGS ${_poFile} -o ${_tsFile} -of ts
DEPENDS ${_poFile}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
add_custom_command(TARGET translations
COMMAND ${LRELEASE_EXECUTABLE} ARGS ${_tsFile} -qm ${_qmFile}
DEPENDS ${_tsFile})
install(FILES ${_qmFile} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/cantata/translations/)
endif (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${_lang}.po)
endforeach(_lang ${CANTATA_LANGUAGES})
endif(NOT LCONVERT_EXECUTABLE OR NOT LRELEASE_EXECUTABLE)
endif (ENABLE_KDE_SUPPORT)