X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=po%2FCMakeLists.txt;fp=po%2FCMakeLists.txt;h=d0efe9b20721c508d260fec76bf45df9bbec404d;hp=0000000000000000000000000000000000000000;hb=2573fe442275287321d828d88a5fb8d743952388;hpb=61df0585d3b0e958738b833c844341f72c27182c diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt new file mode 100644 index 00000000..d0efe9b2 --- /dev/null +++ b/po/CMakeLists.txt @@ -0,0 +1,68 @@ +# Generate and add translations +# 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) + 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 + set(flg 1) + if(LINGUAS) + string(REGEX MATCH "${lang}" flg ${LINGUAS}) + endif(LINGUAS) + if(flg) + generate_qm(QM ${basename}) + list(APPEND qm_files ${QM}) + list(APPEND gen_linguas ${lang}) + endif(flg) + endforeach(PO_FILE ${avail_pofiles}) + if(gen_linguas) + list(REMOVE_DUPLICATES gen_linguas) + endif(gen_linguas) + message(STATUS "Including languages: ${gen_linguas}") +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) + +# Write resource file +set(resfile ${CMAKE_CURRENT_BINARY_DIR}/i18n.qrc) +file(WRITE ${resfile} "\n" + "\n") +foreach(file ${qm_files}) + get_filename_component(file ${file} NAME) + file(APPEND ${resfile} " ${file}\n") +endforeach(file ${qm_files}) +file(APPEND ${resfile} "\n\n") + +#add_custom_command(OUTPUT ${resfile} DEPENDS ${qm_files}) +set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${qm_files};i18n.qrc") + +if(EMBED_DATA) + set(COMMON_RCS ${COMMON_RCS} ${resfile} PARENT_SCOPE) +else(EMBED_DATA) + install(FILES ${qm_files} DESTINATION ${DATA_INSTALL_DIR}/quassel/translations) +endif(EMBED_DATA) + +add_custom_target(i18n DEPENDS ${qm_files})