summaryrefslogtreecommitdiff
path: root/po
diff options
context:
space:
mode:
Diffstat (limited to 'po')
-rw-r--r--po/CMakeLists.txt49
1 files changed, 39 insertions, 10 deletions
diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt
index 93d94f3a..85cd439d 100644
--- a/po/CMakeLists.txt
+++ b/po/CMakeLists.txt
@@ -1,13 +1,42 @@
FIND_PACKAGE(Gettext REQUIRED)
+# based on the CMake 2.6.3 GETTEXT_CREATE_TRANSLATIONS
+# we need our own version because the upstream one contains
+# a call to msgmerge (updating po files) which can't be
+# disabled
+MACRO(TMW_GETTEXT_CREATE_TRANSLATIONS _potFile _firstPoFileArg)
+ # make it a real variable, so we can modify it here
+ SET(_firstPoFile "${_firstPoFileArg}")
+
+ SET(_gmoFiles)
+ GET_FILENAME_COMPONENT(_potBasename ${_potFile} NAME_WE)
+ GET_FILENAME_COMPONENT(_absPotFile ${_potFile} ABSOLUTE)
+
+ SET(_addToAll)
+ IF(${_firstPoFile} STREQUAL "ALL")
+ SET(_addToAll "ALL")
+ SET(_firstPoFile)
+ ENDIF(${_firstPoFile} STREQUAL "ALL")
+
+ FOREACH (_currentPoFile ${_firstPoFile} ${ARGN})
+ GET_FILENAME_COMPONENT(_absFile ${_currentPoFile} ABSOLUTE)
+ GET_FILENAME_COMPONENT(_abs_PATH ${_absFile} PATH)
+ GET_FILENAME_COMPONENT(_lang ${_absFile} NAME_WE)
+ SET(_gmoFile ${CMAKE_CURRENT_BINARY_DIR}/${_lang}.gmo)
+
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${_gmoFile}
+ COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${_gmoFile} ${_absFile}
+ DEPENDS ${_absPotFile} ${_absFile}
+ )
+
+ INSTALL(FILES ${_gmoFile} DESTINATION share/locale/${_lang}/LC_MESSAGES RENAME ${_potBasename}.mo)
+ SET(_gmoFiles ${_gmoFiles} ${_gmoFile})
+
+ ENDFOREACH (_currentPoFile )
+
+ ADD_CUSTOM_TARGET(translations ${_addToAll} DEPENDS ${_gmoFiles})
+ENDMACRO(TMW_GETTEXT_CREATE_TRANSLATIONS )
+
FILE(GLOB POFILES *.po)
-GETTEXT_CREATE_TRANSLATIONS(tmw.pot ${POFILES})
-# This is an ugly hack to enable building of translations with
-# the default target due to a bug in GETTEXT_CREATE_TRANSLATIONS.
-# The bug has been fixed in recent CMake 2.6.3. Once 2.6.3 is widely
-# deployed the above line should be changed to:
-# GETTEXT_CREATE_TRANSLATIONS(tmw.pot ALL ${POFILES})
-# and the following two lines removed
-# 2009-04-08 Bernd Wachter <bwachter-tmw@lart.info>
-ADD_CUSTOM_TARGET(transfix ALL)
-ADD_DEPENDENCIES(transfix translations)
+TMW_GETTEXT_CREATE_TRANSLATIONS(tmw.pot ALL ${POFILES})