mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-13 17:20:55 +00:00
63f86623cc
The main differecies to trunk is: Project name branchlyx. This is so, to be able to install trunk and branch (rpm or debian) package simultaneously. As they do not share the same directories it is now easy. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@28878 a592a061-630c-0410-9148-cb99ea01b6c8
74 lines
2.6 KiB
CMake
Executable File
74 lines
2.6 KiB
CMake
Executable File
# - Slightly modified Find GNU gettext tools
|
|
# This module looks for the GNU gettext tools. This module defines the
|
|
# following values:
|
|
# GETTEXT_MSGMERGE_EXECUTABLE: the full path to the msgmerge tool.
|
|
# GETTEXT_MSGFMT_EXECUTABLE: the full path to the msgfmt tool.
|
|
# GETTEXT_FOUND: True if gettext has been found.
|
|
#
|
|
# Additionally it provides the following macros:
|
|
# GETTEXT_CREATE_TRANSLATIONS ( outputFile [ALL] file1 ... fileN )
|
|
# This will create a target "translations" which will convert the
|
|
# given input po files into the binary output mo file. If the
|
|
# 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)
|
|
|
|
MACRO(GETTEXT_CREATE_TRANSLATIONS _potFile _firstPoFile)
|
|
|
|
SET(_gmoFiles)
|
|
# 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)
|
|
IF(${_firstPoFile} STREQUAL "ALL")
|
|
SET(_addToAll "ALL")
|
|
SET(_firstPoFile)
|
|
ENDIF(${_firstPoFile} STREQUAL "ALL")
|
|
|
|
FOREACH (_currentPoFile ${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}
|
|
COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} --quiet --update --backup=none -s ${_absFile} ${_absPotFile}
|
|
COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${_gmoFile} ${_absFile}
|
|
DEPENDS ${_absPotFile} ${_absFile}
|
|
)
|
|
|
|
INSTALL(FILES ${_gmoFile} DESTINATION ${LYX_LOCALEDIR}/${_lang}/LC_MESSAGES RENAME ${_potBasename}.mo)
|
|
SET(_gmoFiles ${_gmoFiles} ${_gmoFile})
|
|
|
|
ENDFOREACH (_currentPoFile )
|
|
|
|
ADD_CUSTOM_TARGET(translations ${_addToAll} DEPENDS ${_gmoFiles})
|
|
|
|
ENDMACRO(GETTEXT_CREATE_TRANSLATIONS )
|
|
|
|
IF (GETTEXT_MSGMERGE_EXECUTABLE AND GETTEXT_MSGFMT_EXECUTABLE )
|
|
SET(GETTEXT_FOUND TRUE)
|
|
ELSE (GETTEXT_MSGMERGE_EXECUTABLE AND GETTEXT_MSGFMT_EXECUTABLE )
|
|
SET(GETTEXT_FOUND FALSE)
|
|
IF (GetText_REQUIRED)
|
|
MESSAGE(FATAL_ERROR "GetText not found")
|
|
ENDIF (GetText_REQUIRED)
|
|
ENDIF (GETTEXT_MSGMERGE_EXECUTABLE AND GETTEXT_MSGFMT_EXECUTABLE )
|
|
|
|
|
|
|