X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=development%2Fcmake%2Fmodules%2FFindLyXGettext.cmake;h=d70b9bc0d8877265d944333d7eabc7c9d677330e;hb=3f771c96d3ec4a7eaa70fae6af0c1c55647d9d50;hp=5a747f5909338a2297e1c5eec1dab4df9e03be7d;hpb=043ff28a990fe7fc92ecb40f9b07928ef8de0779;p=lyx.git diff --git a/development/cmake/modules/FindLyXGettext.cmake b/development/cmake/modules/FindLyXGettext.cmake index 5a747f5909..d70b9bc0d8 100755 --- a/development/cmake/modules/FindLyXGettext.cmake +++ b/development/cmake/modules/FindLyXGettext.cmake @@ -12,9 +12,11 @@ # 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) +set(hints HINTS "${GNUWIN32_DIR}/gettext-tools") +FIND_PROGRAM(GETTEXT_MSGMERGE_EXECUTABLE msgmerge ${hints}) +FIND_PROGRAM(GETTEXT_MSGFMT_EXECUTABLE msgfmt ${hints}) +FIND_PROGRAM(GETTEXT_XGETTEXT_EXECUTABLE xgettext ${hints}) +FIND_PROGRAM(GETTEXT_MSGUNIQ_EXECUTABLE msguniq ${hints}) MACRO(GETTEXT_CREATE_TRANSLATIONS _potFile _firstPoFile) @@ -33,30 +35,34 @@ MACRO(GETTEXT_CREATE_TRANSLATIONS _potFile _firstPoFile) GET_FILENAME_COMPONENT(_absPotFile ${_potFile} ABSOLUTE) SET(_addToAll) + set(_firstArg) IF(${_firstPoFile} STREQUAL "ALL") SET(_addToAll "ALL") - SET(_firstPoFile) + else() + set(_firstArg ${_firstPoFile}) ENDIF(${_firstPoFile} STREQUAL "ALL") - FOREACH (_currentPoFile ${ARGN}) + FOREACH (_currentPoFile ${_firstArg} ${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} ${_absFile}.new - COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} --quiet -o ${_absFile}.new -s ${_absFile} ${_absPotFile} - COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${_gmoFile} ${_absFile}.new + OUTPUT ${_gmoFile} + COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} --quiet --update --backup=none ${_absFile} ${_absPotFile} + COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -c --statistics -o ${_gmoFile}.1 ${_absFile} + COMMAND ${CMAKE_COMMAND} -E rename ${_gmoFile}.1 ${_gmoFile} DEPENDS ${_absPotFile} ${_absFile} ) - INSTALL(FILES ${_gmoFile} DESTINATION ${LYX_ABS_INSTALLED_LOCALEDIR}/${_lang}/LC_MESSAGES RENAME ${_potBasename}.mo) + INSTALL(FILES ${_gmoFile} DESTINATION ${LYX_DATA_SUBDIR}${LYX_LOCALEDIR}/${_lang}/LC_MESSAGES RENAME ${_potBasename}.mo) SET(_gmoFiles ${_gmoFiles} ${_gmoFile}) ENDFOREACH (_currentPoFile ) ADD_CUSTOM_TARGET(translations ${_addToAll} DEPENDS ${_gmoFiles}) + set_target_properties(translations PROPERTIES FOLDER "i18n") ENDMACRO(GETTEXT_CREATE_TRANSLATIONS ) @@ -69,5 +75,5 @@ ELSE (GETTEXT_MSGMERGE_EXECUTABLE AND GETTEXT_MSGFMT_EXECUTABLE ) ENDIF (GetText_REQUIRED) ENDIF (GETTEXT_MSGMERGE_EXECUTABLE AND GETTEXT_MSGFMT_EXECUTABLE ) - +mark_as_advanced(GETTEXT_MSGMERGE_EXECUTABLE GETTEXT_MSGFMT_EXECUTABLE GETTEXT_XGETTEXT_EXECUTABLE GETTEXT_MSGUNIQ_EXECUTABLE)