2 # Find the msgfmt program
4 # Modified from Rosegarden project
15 SET(MSGFMT_FOUND TRUE)
16 ELSE(MSGFMT_EXECUTABLE)
17 FIND_PROGRAM(MSGFMT_EXECUTABLE
19 PATHS /bin /usr/bin /usr/local/bin )
21 SET(MSGFMT_FOUND TRUE)
22 ELSE(MSGFMT_EXECUTABLE)
23 IF(NOT MSGFMT_FIND_QUIETLY)
24 IF(MSGFMT_FIND_REQUIRED)
25 MESSAGE(FATAL_ERROR "msgfmt program couldn't be found")
26 ENDIF(MSGFMT_FIND_REQUIRED)
27 ENDIF(NOT MSGFMT_FIND_QUIETLY)
28 ENDIF(MSGFMT_EXECUTABLE)
29 MARK_AS_ADVANCED(MSGFMT_EXECUTABLE)
30 ENDIF (MSGFMT_EXECUTABLE)
32 MESSAGE(STATUS "Found msgfmt: ${MSGFMT_EXECUTABLE}")
35 MACRO(ADD_TRANSLATIONS _lang)
37 FOREACH(_file ${ARGN})
38 GET_FILENAME_COMPONENT(_file_we ${_file} NAME_WE)
39 SET(_out "${CMAKE_CURRENT_BINARY_DIR}/${_file_we}.mo")
40 SET(_in "${CMAKE_CURRENT_SOURCE_DIR}/${_file_we}.po")
43 COMMAND ${MSGFMT_EXECUTABLE} -o ${_out} ${_in}
46 DESTINATION ${LOCALE_INSTALL_DIR}/${_lang}/LC_MESSAGES )
47 SET(_outputs ${_outputs} ${_out})
49 ADD_CUSTOM_TARGET(translations ALL DEPENDS ${_outputs})
50 ENDMACRO(ADD_TRANSLATIONS)