]> git.lyx.org Git - lyx.git/blobdiff - development/cmake/modules/FindLyXGettext.cmake
cmake: -Dhelp=1 lists all options
[lyx.git] / development / cmake / modules / FindLyXGettext.cmake
index 00be65bc28d6e1a964629695c13e228528a01874..940e6e09a680d4467c82180a8430971c3d01e2f8 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}/deps20/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)
 
    SET(_gmoFiles)
-   GET_FILENAME_COMPONENT(_potBasename ${_potFile} NAME_WE)
+   # remove only the last extension e.g
+   #   LyX2.0.pot ==> LyX2.0
+   # and not LyX2.0.pot ==> LyX2
+   # as it would be with NAME_WE
+   # GET_FILENAME_COMPONENT(_potBasename ${_potFile} NAME_WE)
+   GET_FILENAME_COMPONENT(_potname ${_potFile} NAME)
+   if (_potname MATCHES "^\(.+\)\\.[^\\.]+$")
+       set(_potBasename ${CMAKE_MATCH_1})
+   else()
+       set(_potBasename ${_potname})
+   endif()
    GET_FILENAME_COMPONENT(_absPotFile ${_potFile} ABSOLUTE)
 
    SET(_addToAll)
@@ -36,12 +48,12 @@ MACRO(GETTEXT_CREATE_TRANSLATIONS _potFile _firstPoFile)
 
       ADD_CUSTOM_COMMAND( 
          OUTPUT ${_gmoFile} 
-         COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} --quiet --update --backup=none -s ${_absFile} ${_absPotFile}
+         COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} --quiet --update --backup=none ${_absFile} ${_absPotFile}
          COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${_gmoFile} ${_absFile}
          DEPENDS ${_absPotFile} ${_absFile} 
       )
 
-      INSTALL(FILES ${_gmoFile} DESTINATION ${LYX_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 )
@@ -59,5 +71,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)