X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=po%2FCMakeLists.txt;h=1980a58c8cfe00911269992131cfb627e392cd0f;hp=d0efe9b20721c508d260fec76bf45df9bbec404d;hb=5254bd9e9ecd7e58d6afb03a5c4603b15e0aefc1;hpb=2573fe442275287321d828d88a5fb8d743952388 diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt index d0efe9b2..1980a58c 100644 --- a/po/CMakeLists.txt +++ b/po/CMakeLists.txt @@ -2,24 +2,24 @@ # The LINGUAS variable can be used to limit that set if(QT_LCONVERT_EXECUTABLE) - # We always include quassel.po - generate_qm(QM quassel) - set(qm_files ${QM}) - # get environment variable for translations set(LINGUAS "$ENV{LINGUAS}") string(REGEX REPLACE "[ \t]+" \; output "${LINGUAS}") # Find more languages - file(GLOB avail_pofiles quassel_*.po qt_*.po) + # We support xx.po and xx_YY.po, and additionally translations for qt using qt_xx.po or qt_xx_YY.po + file(GLOB avail_pofiles *.po) foreach(PO_FILE ${avail_pofiles}) get_filename_component(basename ${PO_FILE} NAME_WE) - string(REGEX REPLACE "q[^_]+_([a-zA-Z]+)(_.+)?$" "\\1" lang ${basename}) - # test if we want this + # CMake can't use MATCH to get the second catch... + string(REGEX REPLACE "(qt_)?([a-zA-Z]+)(_.+)?$" "\\2" lang ${basename}) + + # test if we want this language set(flg 1) if(LINGUAS) string(REGEX MATCH "${lang}" flg ${LINGUAS}) endif(LINGUAS) if(flg) + generate_ts(QM ${basename}) generate_qm(QM ${basename}) list(APPEND qm_files ${QM}) list(APPEND gen_linguas ${lang}) @@ -33,18 +33,20 @@ else(QT_LCONVERT_EXECUTABLE) message(STATUS "WARNING: lconvert not found, you won't have translations!") endif(QT_LCONVERT_EXECUTABLE) -# For a static build, we need to include Qt translations if available -if(STATIC AND QT_TRANSLATIONS_DIR) - foreach(LANG ${gen_linguas}) - file(GLOB lang_files ${QT_TRANSLATIONS_DIR}/qt_${LANG}*.qm) - foreach(absfile ${lang_files}) - get_filename_component(filename ${absfile} NAME) - message(STATUS "Importing ${filename}") - configure_file(${absfile} ${CMAKE_CURRENT_BINARY_DIR}/${filename} COPYONLY) - list(APPEND qm_files ${CMAKE_CURRENT_BINARY_DIR}/${filename}) - endforeach(absfile ${lang_files}) - endforeach(LANG ${gen_linguas}) -endif(STATIC AND QT_TRANSLATIONS_DIR) +# For a static or win32 build, we need to include Qt translations if available +if(QT_TRANSLATIONS_DIR) + if(STATIC OR WIN32) + foreach(LANG ${gen_linguas}) + file(GLOB lang_files ${QT_TRANSLATIONS_DIR}/qt_${LANG}*.qm) + foreach(absfile ${lang_files}) + get_filename_component(filename ${absfile} NAME) + message(STATUS "Importing ${filename}") + configure_file(${absfile} ${CMAKE_CURRENT_BINARY_DIR}/${filename} COPYONLY) + list(APPEND qm_files ${CMAKE_CURRENT_BINARY_DIR}/${filename}) + endforeach(absfile ${lang_files}) + endforeach(LANG ${gen_linguas}) + endif(STATIC OR WIN32) +endif(QT_TRANSLATIONS_DIR) # Write resource file set(resfile ${CMAKE_CURRENT_BINARY_DIR}/i18n.qrc) @@ -62,7 +64,7 @@ set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${qm_files};i18 if(EMBED_DATA) set(COMMON_RCS ${COMMON_RCS} ${resfile} PARENT_SCOPE) else(EMBED_DATA) - install(FILES ${qm_files} DESTINATION ${DATA_INSTALL_DIR}/quassel/translations) + install(FILES ${qm_files} DESTINATION ${CMAKE_INSTALL_DATADIR}/quassel/translations) endif(EMBED_DATA) -add_custom_target(i18n DEPENDS ${qm_files}) +add_custom_target(po DEPENDS ${qm_files})