You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CMakeLists.txt 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. # Gettext support - mostly borrowed from the Licq project
  2. file(STRINGS LINGUAS po_FILES)
  3. if (NOT GETTEXT_MSGMERGE_EXECUTABLE AND NOT GETTEXT_MSGFMT_EXECUTABLE)
  4. message(FATAL_ERROR "Gettext message catalog tools NOT found")
  5. endif (NOT GETTEXT_MSGMERGE_EXECUTABLE AND NOT GETTEXT_MSGFMT_EXECUTABLE)
  6. find_program(GETTEXT_XGETTEXT_EXECUTABLE xgettext)
  7. if (GETTEXT_XGETTEXT_EXECUTABLE)
  8. # Get list of all source files
  9. file(GLOB_RECURSE po_source
  10. RELATIVE ${PROJECT_SOURCE_DIR}
  11. ${PROJECT_SOURCE_DIR}/vncviewer/*.h
  12. ${PROJECT_SOURCE_DIR}/vncviewer/*.cxx
  13. )
  14. add_custom_target(translations_update
  15. ${GETTEXT_XGETTEXT_EXECUTABLE}
  16. "--directory=${PROJECT_SOURCE_DIR}"
  17. "--output=${CMAKE_CURRENT_SOURCE_DIR}/tigervnc.pot"
  18. --default-domain=tigervnc
  19. --keyword=_
  20. --keyword=p_:1c,2
  21. --keyword=N_
  22. "--copyright-holder=TigerVNC Team and many others \(see README.txt\)"
  23. --msgid-bugs-address=tigervnc-devel@googlegroups.com
  24. --sort-by-file
  25. --add-location
  26. --add-comments=TRANSLATORS
  27. ${po_source}
  28. COMMENT "Updating tigervnc.pot"
  29. VERBATIM
  30. )
  31. endif (GETTEXT_XGETTEXT_EXECUTABLE)
  32. foreach(lang ${po_FILES})
  33. set(po "${CMAKE_CURRENT_SOURCE_DIR}/${lang}.po")
  34. set(mo "${CMAKE_CURRENT_BINARY_DIR}/${lang}.mo")
  35. # Add command to build X.mo from X.po
  36. add_custom_command(OUTPUT ${mo}
  37. COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${mo} ${po}
  38. DEPENDS ${po}
  39. )
  40. install(FILES ${mo}
  41. DESTINATION "${LOCALE_DIR}/${lang}/LC_MESSAGES"
  42. RENAME tigervnc.mo
  43. )
  44. set(moFiles ${moFiles} ${mo})
  45. endforeach(lang)
  46. add_custom_target(translations ALL DEPENDS ${moFiles})