From 3cfa5354f2a6b164f0e46ebde60af3b0d697fbcd Mon Sep 17 00:00:00 2001 From: scarab Date: Mon, 18 Aug 2008 23:58:32 +0000 Subject: - dokonceni gettext zakladni podpory - je treba mozna jeste nekde uklidit zbytky po language - testujte a sezente lidi co nam to prelozi, kdzytak projedete .pot soubor a pokud najdete neco co by se melo jmenovat stejne nebo tak nejak tak opravit... git-svn-id: http://opensvn.csie.org/tuxanci_ng@223 0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e --- cmake/FindGettext.cmake | 65 +++++++++++++++++++++++++++++++++++++++++++++++++ cmake/Po.cmake | 54 ---------------------------------------- 2 files changed, 65 insertions(+), 54 deletions(-) create mode 100644 cmake/FindGettext.cmake delete mode 100644 cmake/Po.cmake (limited to 'cmake') diff --git a/cmake/FindGettext.cmake b/cmake/FindGettext.cmake new file mode 100644 index 0000000..14ea623 --- /dev/null +++ b/cmake/FindGettext.cmake @@ -0,0 +1,65 @@ +# - Find GNU gettext tools +# This module looks for the GNU gettext tools. This module defines the +# following values: +# GETTEXT_MSGMERGE_EXECUTABLE: the full path to the msgmerge tool. +# GETTEXT_MSGFMT_EXECUTABLE: the full path to the msgfmt tool. +# GETTEXT_FOUND: True if gettext has been found. +# +# Additionally it provides the following macros: +# GETTEXT_CREATE_TRANSLATIONS ( outputFile [ALL] file1 ... fileN ) +# This will create a target "translations" which will convert the +# given input po files into the binary output mo file. If the +# ALL option is used, the translations will also be created when +# building the default target. + + + +FIND_PROGRAM(GETTEXT_MSGMERGE_EXECUTABLE msgmerge) + +FIND_PROGRAM(GETTEXT_MSGFMT_EXECUTABLE msgfmt) + +MACRO(GETTEXT_CREATE_TRANSLATIONS _potFile _firstPoFile) + + 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 ${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_MSGMERGE_EXECUTABLE} --quiet --update --backup=none -s ${_absFile} ${_absPotFile} + 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(GETTEXT_CREATE_TRANSLATIONS ) + +IF (GETTEXT_MSGMERGE_EXECUTABLE AND GETTEXT_MSGFMT_EXECUTABLE ) + SET(GETTEXT_FOUND TRUE) +ELSE (GETTEXT_MSGMERGE_EXECUTABLE AND GETTEXT_MSGFMT_EXECUTABLE ) + SET(GETTEXT_FOUND FALSE) + IF (GetText_REQUIRED) + MESSAGE(FATAL_ERROR "GetText not found") + ENDIF (GetText_REQUIRED) +ENDIF (GETTEXT_MSGMERGE_EXECUTABLE AND GETTEXT_MSGFMT_EXECUTABLE ) + + + diff --git a/cmake/Po.cmake b/cmake/Po.cmake deleted file mode 100644 index 8c6d5f0..0000000 --- a/cmake/Po.cmake +++ /dev/null @@ -1,54 +0,0 @@ -# a small macro to create mo files out of po's -# Taken from sim-im.org - -MACRO(FIND_MSGFMT) - IF(NOT MSGFMT_EXECUTABLE) - IF(NOT MSGFMT_NOT_FOUND) - SET(MSGFMT_NAME "msgfmt") - FIND_PROGRAM(MSGFMT_EXECUTABLE ${MSGFMT_NAME}) - - IF (NOT MSGFMT_EXECUTABLE) - MESSAGE(FATAL_ERROR "${MSGFMT_NAME} not found - po files can't be processed") - SET(MSGFMT_NOT_FOUND "1") # to avoid double checking in one cmake run - ENDIF (NOT MSGFMT_EXECUTABLE) - - MARK_AS_ADVANCED(MSGFMT_EXECUTABLE) - ENDIF(NOT MSGFMT_NOT_FOUND) - ENDIF(NOT MSGFMT_EXECUTABLE) -ENDMACRO(FIND_MSGFMT) - -MACRO(COMPILE_PO_FILES po_subdir _sources) - FIND_MSGFMT() - SET(_basename avidemux2) - - IF(MSGFMT_EXECUTABLE) - FILE(GLOB po_files ${po_subdir}/*.po) - - FOREACH(po_input ${po_files}) - - GET_FILENAME_COMPONENT(_in ${po_input} ABSOLUTE) - GET_FILENAME_COMPONENT(_basename ${po_input} NAME_WE) - - FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) - GET_FILENAME_COMPONENT(_out ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.mo ABSOLUTE) - - ADD_CUSTOM_COMMAND( - OUTPUT ${_out} - COMMAND ${CMAKE_COMMAND} - -E echo - "Generating" ${_out} "from" ${_in} - COMMAND ${MSGFMT_EXECUTABLE} - ${_in} - -o ${_out} - DEPENDS ${_in} - ) - - SET(mo_files ${mo_files} ${_out}) - - INSTALL(FILES ${_out} DESTINATION "${CMAKE_INSTALL_PREFIX}/share/locale/${_basename}/LC_MESSAGES" RENAME avidemux.mo) - ENDFOREACH(po_input ${po_files}) - - SET(${_sources} ${${_sources}} ${mo_files}) - ENDIF(MSGFMT_EXECUTABLE) -ENDMACRO(COMPILE_PO_FILES) - -- cgit v1.2.3