]> git.lyx.org Git - lyx.git/blobdiff - development/cmake/modules/FindLyXGettext.cmake
Fix EOLs
[lyx.git] / development / cmake / modules / FindLyXGettext.cmake
index 5a747f5909338a2297e1c5eec1dab4df9e03be7d..d70b9bc0d8877265d944333d7eabc7c9d677330e 100755 (executable)
 #    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)