- # 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)
+ add_custom_command(VERBATIM
+ COMMENT "Preparing translation for language '${basename}'"
+ COMMAND $<TARGET_FILE:Qt5::lconvert> -i ${pofile} -target-language ${basename} -of ts -o ${tsfile}
+ DEPENDS ${pofile}
+ OUTPUT ${tsfile}
+ )
+endfunction()