~ubuntu-branches/ubuntu/saucy/quassel/saucy-proposed

« back to all changes in this revision

Viewing changes to po/CMakeLists.txt

  • Committer: Bazaar Package Importer
  • Author(s): Scott Kitterman
  • Date: 2010-02-17 12:49:50 UTC
  • mto: This revision was merged to the branch mainline in revision 59.
  • Revision ID: james.westby@ubuntu.com-20100217124950-v9hajw5d2xa6fszn
Tags: upstream-0.6~beta1
ImportĀ upstreamĀ versionĀ 0.6~beta1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Generate and add translations
 
2
# The LINGUAS variable can be used to limit that set
 
3
 
 
4
if(QT_LCONVERT_EXECUTABLE)
 
5
  # get environment variable for translations
 
6
  set(LINGUAS "$ENV{LINGUAS}")
 
7
  string(REGEX REPLACE "[ \t]+" \; output "${LINGUAS}")
 
8
  # Find more languages
 
9
  # We support xx.po and xx_YY.po, and additionally translations for qt using qt_xx.po or qt_xx_YY.po
 
10
  file(GLOB avail_pofiles *.po)
 
11
  foreach(PO_FILE ${avail_pofiles})
 
12
    get_filename_component(basename ${PO_FILE} NAME_WE)
 
13
    # CMake can't use MATCH to get the second catch...
 
14
    string(REGEX REPLACE "(qt_)?([a-zA-Z]+)(_.+)?$" "\\2" lang ${basename})
 
15
 
 
16
    # test if we want this language
 
17
    set(flg 1)
 
18
    if(LINGUAS)
 
19
      string(REGEX MATCH "${lang}" flg ${LINGUAS})
 
20
    endif(LINGUAS)
 
21
    if(flg)
 
22
      generate_qm(QM ${basename})
 
23
      list(APPEND qm_files ${QM})
 
24
      list(APPEND gen_linguas ${lang})
 
25
    endif(flg)
 
26
  endforeach(PO_FILE ${avail_pofiles})
 
27
  if(gen_linguas)
 
28
    list(REMOVE_DUPLICATES gen_linguas)
 
29
  endif(gen_linguas)
 
30
  message(STATUS "Including languages: ${gen_linguas}")
 
31
else(QT_LCONVERT_EXECUTABLE)
 
32
  message(STATUS "WARNING: lconvert not found, you won't have translations!")
 
33
endif(QT_LCONVERT_EXECUTABLE)
 
34
 
 
35
# For a static build, we need to include Qt translations if available
 
36
if(STATIC AND QT_TRANSLATIONS_DIR)
 
37
  foreach(LANG ${gen_linguas})
 
38
    file(GLOB lang_files ${QT_TRANSLATIONS_DIR}/qt_${LANG}*.qm)
 
39
    foreach(absfile ${lang_files})
 
40
      get_filename_component(filename ${absfile} NAME)
 
41
      message(STATUS "Importing ${filename}")
 
42
      configure_file(${absfile} ${CMAKE_CURRENT_BINARY_DIR}/${filename} COPYONLY)
 
43
      list(APPEND qm_files ${CMAKE_CURRENT_BINARY_DIR}/${filename})
 
44
    endforeach(absfile ${lang_files})
 
45
  endforeach(LANG ${gen_linguas})
 
46
endif(STATIC AND QT_TRANSLATIONS_DIR)
 
47
 
 
48
# Write resource file
 
49
set(resfile ${CMAKE_CURRENT_BINARY_DIR}/i18n.qrc)
 
50
file(WRITE ${resfile} "<!DOCTYPE RCC><RCC version=\"1.0\">\n"
 
51
                      "<qresource prefix=\"/i18n\">\n")
 
52
foreach(file ${qm_files})
 
53
  get_filename_component(file ${file} NAME)
 
54
  file(APPEND ${resfile} "    <file>${file}</file>\n")
 
55
endforeach(file ${qm_files})
 
56
file(APPEND ${resfile} "</qresource>\n</RCC>\n")
 
57
 
 
58
#add_custom_command(OUTPUT ${resfile} DEPENDS ${qm_files})
 
59
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${qm_files};i18n.qrc")
 
60
 
 
61
if(EMBED_DATA)
 
62
  set(COMMON_RCS ${COMMON_RCS} ${resfile} PARENT_SCOPE)
 
63
else(EMBED_DATA)
 
64
  install(FILES ${qm_files} DESTINATION ${DATA_INSTALL_DIR}/quassel/translations)
 
65
endif(EMBED_DATA)
 
66
 
 
67
add_custom_target(po DEPENDS ${qm_files})