diff options
Diffstat (limited to 'cmake_admin/FindMSGFMT.cmake')
-rw-r--r-- | cmake_admin/FindMSGFMT.cmake | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/cmake_admin/FindMSGFMT.cmake b/cmake_admin/FindMSGFMT.cmake new file mode 100644 index 0000000..b8419f8 --- /dev/null +++ b/cmake_admin/FindMSGFMT.cmake @@ -0,0 +1,68 @@ +# Rosegarden +# A MIDI and audio sequencer and musical notation editor. +# +# This program is Copyright 2000-2008 +# Guillaume Laurent <[email protected]>, +# Chris Cannam <[email protected]>, +# Richard Bown <[email protected]> +# +# The moral rights of Guillaume Laurent, Chris Cannam, and Richard +# Bown to claim authorship of this work have been asserted. +# +# This file is Copyright 2006-2008 +# Pedro Lopez-Cabanillas <[email protected]> +# +# Other copyrights also apply to some parts of this work. Please +# see the AUTHORS file and individual file headers for details. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. See the file +# COPYING included with this distribution for more information. + +# Find the msgfmt program +# +# Defined variables: +# MSGFMT_FOUND +# MSGFMT_EXECUTABLE +# +# Macro: +# ADD_TRANSLATIONS +# + +IF(MSGFMT_EXECUTABLE) + SET(MSGFMT_FOUND TRUE) +ELSE(MSGFMT_EXECUTABLE) + FIND_PROGRAM(MSGFMT_EXECUTABLE + NAMES msgfmt gmsgfmt + PATHS /bin /usr/bin /usr/local/bin ) + IF(MSGFMT_EXECUTABLE) + SET(MSGFMT_FOUND TRUE) + ELSE(MSGFMT_EXECUTABLE) + IF(NOT MSGFMT_FIND_QUIETLY) + IF(MSGFMT_FIND_REQUIRED) + MESSAGE(FATAL_ERROR "msgfmt program couldn't be found") + ENDIF(MSGFMT_FIND_REQUIRED) + ENDIF(NOT MSGFMT_FIND_QUIETLY) + ENDIF(MSGFMT_EXECUTABLE) + MARK_AS_ADVANCED(MSGFMT_EXECUTABLE) +ENDIF (MSGFMT_EXECUTABLE) + +MACRO(ADD_TRANSLATIONS _baseName) + SET(_outputs) + FOREACH(_file ${ARGN}) + GET_FILENAME_COMPONENT(_file_we ${_file} NAME_WE) + SET(_out "${CMAKE_CURRENT_BINARY_DIR}/${_file_we}.gmo") + SET(_in "${CMAKE_CURRENT_SOURCE_DIR}/${_file_we}.po") + ADD_CUSTOM_COMMAND( + OUTPUT ${_out} + COMMAND ${MSGFMT_EXECUTABLE} -o ${_out} ${_in} + DEPENDS ${_in} ) + INSTALL(FILES ${_out} + DESTINATION ${KDE3L18NDIR}/${_file_we}/LC_MESSAGES/ + RENAME ${_baseName}.mo ) + SET(_outputs ${_outputs} ${_out}) + ENDFOREACH(_file) + ADD_CUSTOM_TARGET(translations ALL DEPENDS ${_outputs}) +ENDMACRO(ADD_TRANSLATIONS) |