summaryrefslogtreecommitdiffstats
path: root/po/CMakeLists.txt
diff options
context:
space:
mode:
authorNicolas Lécureuil <nlecureuil@mandriva.com>2009-05-14 19:27:25 +0000
committerNicolas Lécureuil <nlecureuil@mandriva.com>2009-05-14 19:27:25 +0000
commit3f7a8b63cb4105d4ac64b5564afdcb6f00620453 (patch)
tree352c96e0b3a798275a69da50508353253077c5f0 /po/CMakeLists.txt
downloadsplash-3f7a8b63cb4105d4ac64b5564afdcb6f00620453.tar
splash-3f7a8b63cb4105d4ac64b5564afdcb6f00620453.tar.gz
splash-3f7a8b63cb4105d4ac64b5564afdcb6f00620453.tar.bz2
splash-3f7a8b63cb4105d4ac64b5564afdcb6f00620453.tar.xz
splash-3f7a8b63cb4105d4ac64b5564afdcb6f00620453.zip
Branch for 2009.1 and handle trunk
Diffstat (limited to 'po/CMakeLists.txt')
-rw-r--r--po/CMakeLists.txt34
1 files changed, 34 insertions, 0 deletions
diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt
new file mode 100644
index 0000000..9610044
--- /dev/null
+++ b/po/CMakeLists.txt
@@ -0,0 +1,34 @@
+cmake_minimum_required(VERSION 2.6)
+
+FIND_PROGRAM(GETTEXT_MSGFMT_EXECUTABLE msgfmt)
+
+IF(NOT GETTEXT_MSGFMT_EXECUTABLE)
+ MESSAGE(
+"------
+ NOTE: msgfmt not found. Translations will *not* be installed
+------")
+ELSE(NOT GETTEXT_MSGFMT_EXECUTABLE)
+ SET(catalogname kde4-splash-mdv)
+
+ ADD_CUSTOM_TARGET(translations ALL)
+
+ FILE(GLOB PO_FILES ${catalogname}*.po)
+
+ FOREACH(_poFile ${PO_FILES})
+ GET_FILENAME_COMPONENT(_poFileName ${_poFile} NAME)
+ STRING(REGEX REPLACE "^${catalogname}_?" "" _langCode ${_poFileName} )
+ STRING(REGEX REPLACE "\\.po$" "" _langCode ${_langCode} )
+
+ IF( _langCode )
+ GET_FILENAME_COMPONENT(_lang ${_poFile} NAME_WE)
+ SET(_gmoFile ${CMAKE_CURRENT_BINARY_DIR}/${_lang}.gmo)
+ ADD_CUSTOM_COMMAND(TARGET translations
+ COMMAND ${GETTEXT_MSGFMT_EXECUTABLE}
+ --check -o ${_gmoFile} ${_poFile} DEPENDS ${_poFile})
+
+ INSTALL(FILES ${_gmoFile}
+ DESTINATION ${LOCALE_INSTALL_DIR}/${_langCode}/LC_MESSAGES/
+ RENAME ${catalogname}.mo)
+ ENDIF( _langCode )
+ ENDFOREACH(_poFile ${PO_FILES})
+ENDIF(NOT GETTEXT_MSGFMT_EXECUTABLE)