Pimp JoinDlg
[quassel.git] / i18n / CMakeLists.txt
1 # Generate and add translations
2 # The LINGUAS variable can be used to limit that set
3
4 if(QT_LRELEASE_EXECUTABLE)
5   # We always include quassel.ts
6   generate_qm(QM quassel)
7   set(qm_files ${QM})
8
9   # Find more languages
10   file(GLOB avail_tsfiles quassel_*.ts)
11   foreach(TS_FILE ${avail_tsfiles})
12     get_filename_component(basename ${TS_FILE} NAME_WE)
13     string(REGEX REPLACE "quassel_([a-zA-Z]+)(_.+)?$" "\\1" lang ${basename})
14     # test if we want this
15     set(flg 1)
16     if(LINGUAS)
17       string(REGEX MATCH "${lang}" flg ${LINGUAS})
18     endif(LINGUAS)
19     if(flg)
20       generate_qm(QM ${basename})
21       set(qm_files ${qm_files} ${QM})
22       set(gen_linguas "${gen_linguas} ${lang}")
23     endif(flg)
24   endforeach(TS_FILE ${avail_tsfiles})
25   message(STATUS "Including languages:${gen_linguas}")
26 else(QT_LRELEASE_EXECUTABLE)
27   message(STATUS "WARNING: lrelease not found, you won't have translations!")
28 endif(QT_LRELEASE_EXECUTABLE)
29
30 # Write resource file
31 set(resfile ${CMAKE_CURRENT_BINARY_DIR}/i18n.qrc)
32 file(WRITE ${resfile} "<!DOCTYPE RCC><RCC version=\"1.0\">\n"
33                       "<qresource prefix=\"/i18n\">\n")
34 foreach(file ${qm_files})
35   get_filename_component(file ${file} NAME)
36   file(APPEND ${resfile} "    <file>${file}</file>\n")
37 endforeach(file ${qm_files})
38 file(APPEND ${resfile} "</qresource>\n</RCC>\n")
39
40 #add_custom_command(OUTPUT ${resfile} DEPENDS ${qm_files})
41 set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${qm_files} i18n.qrc")
42
43 if(EMBED_DATA)
44   set(COMMON_RCS ${COMMON_RCS} ${resfile} PARENT_SCOPE)
45 else(EMBED_DATA)
46   install(FILES ${qm_files} DESTINATION ${DATA_INSTALL_DIR}/quassel/translations)
47 endif(EMBED_DATA)
48
49 add_custom_target(i18n DEPENDS ${qm_files})