aboutsummaryrefslogtreecommitdiff
path: root/cmake/Translations.cmake
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2013-08-27 12:55:22 -0500
committerTed Gould <ted@gould.cx>2013-08-27 12:55:22 -0500
commitc440b9d6a1737e3be03e205e32fec64ebdfcb2df (patch)
treeb74867b600c41ff03ed87565eae38d2daaa47d5f /cmake/Translations.cmake
parent4661ef2d0a834509194d069466e3905aece05183 (diff)
parentb7a8f35077f950dc6dab640e759341c1c2476f5c (diff)
downloadayatana-indicator-session-c440b9d6a1737e3be03e205e32fec64ebdfcb2df.tar.gz
ayatana-indicator-session-c440b9d6a1737e3be03e205e32fec64ebdfcb2df.tar.bz2
ayatana-indicator-session-c440b9d6a1737e3be03e205e32fec64ebdfcb2df.zip
Merging trunk
Diffstat (limited to 'cmake/Translations.cmake')
-rw-r--r--cmake/Translations.cmake41
1 files changed, 41 insertions, 0 deletions
diff --git a/cmake/Translations.cmake b/cmake/Translations.cmake
new file mode 100644
index 0000000..178bded
--- /dev/null
+++ b/cmake/Translations.cmake
@@ -0,0 +1,41 @@
+# Translations.cmake, CMake macros written for Marlin, feel free to re-use them
+
+macro(add_translations_directory NLS_PACKAGE)
+ add_custom_target (i18n ALL)
+ find_program (MSGFMT_EXECUTABLE msgfmt)
+ file (GLOB PO_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.po)
+ foreach (PO_INPUT ${PO_FILES})
+ get_filename_component (PO_INPUT_BASE ${PO_INPUT} NAME_WE)
+ set (MO_OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${PO_INPUT_BASE}.mo)
+ add_custom_command (TARGET i18n COMMAND ${MSGFMT_EXECUTABLE} -o ${MO_OUTPUT} ${PO_INPUT})
+
+ install (FILES ${MO_OUTPUT} DESTINATION
+ ${CMAKE_INSTALL_LOCALEDIR}/LC_MESSAGES
+ RENAME ${NLS_PACKAGE}.mo)
+ endforeach (PO_INPUT ${PO_FILES})
+endmacro(add_translations_directory)
+
+
+macro(add_translations_catalog NLS_PACKAGE)
+ add_custom_target (pot COMMENT “Building translation catalog.”)
+ find_program (XGETTEXT_EXECUTABLE xgettext)
+
+
+ set(C_SOURCE "")
+
+ foreach(FILES_INPUT ${ARGN})
+ file (GLOB_RECURSE SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/${FILES_INPUT}/*.c)
+ foreach(C_FILE ${SOURCE_FILES})
+ set(C_SOURCE ${C_SOURCE} ${C_FILE})
+ endforeach()
+ file (GLOB_RECURSE SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/${FILES_INPUT}/*.vala)
+ foreach(C_FILE ${SOURCE_FILES})
+ set(C_SOURCE ${C_SOURCE} ${C_FILE})
+ endforeach()
+ endforeach()
+
+ add_custom_command (TARGET pot COMMAND
+ ${XGETTEXT_EXECUTABLE} -d ${NLS_PACKAGE} -o ${CMAKE_CURRENT_SOURCE_DIR}/${NLS_PACKAGE}.pot
+ ${VALA_SOURCE} ${C_SOURCE} --keyword="_" --keyword="N_" --from-code=UTF-8
+ )
+endmacro()